def project_new_node(auth, node, **kwargs): form = NewNodeForm(request.form) user = auth.user if form.validate(): try: new_component = new_node( title=strip_html(form.title.data), user=user, category=form.category.data, parent=node, ) except ValidationValueError as e: raise HTTPError(http.BAD_REQUEST, data=dict(message_long=e.message)) message = ( 'Your component was created successfully. You can keep working on the component page below, ' 'or return to the <u><a href="{url}">project page</a></u>.' ).format(url=node.url) status.push_status_message(message, kind='info', trust=True) return { 'status': 'success', }, 201, None, new_component.url else: # TODO: This function doesn't seem to exist anymore? status.push_errors_to_status(form.errors) raise HTTPError(http.BAD_REQUEST, redirect_url=node.url)
def project_new_node(auth, node, **kwargs): form = NewNodeForm(request.form) user = auth.user if form.validate(): try: new_component = new_node( title=strip_html(form.title.data), user=user, category=form.category.data, parent=node, ) except ValidationValueError as e: raise HTTPError( http.BAD_REQUEST, data=dict(message_long=e.message) ) message = ( 'Your component was created successfully. You can keep working on the component page below, ' 'or return to the <u><a href="{url}">project page</a></u>.' ).format(url=node.url) status.push_status_message(message, kind='info', trust=True) return { 'status': 'success', }, 201, None, new_component.url else: # TODO: This function doesn't seem to exist anymore? status.push_errors_to_status(form.errors) raise HTTPError(http.BAD_REQUEST, redirect_url=node.url)
def project_new_node(auth, node, **kwargs): form = NewNodeForm(request.form) user = auth.user if form.validate(): try: new_component = new_node( title=strip_html(form.title.data), user=user, category=form.category.data, parent=node, ) except ValidationError as e: raise HTTPError(http.BAD_REQUEST, data=dict(message_long=e.message)) redirect_url = node.url message = ( 'Your component was created successfully. You can keep working on the project page below, ' 'or go to the new <u><a href={component_url}>component</a></u>.' ).format(component_url=new_component.url) if form.inherit_contributors.data and node.has_permission(user, WRITE): for contributor in node.contributors: perm = CREATOR_PERMISSIONS if contributor._id == user._id else node.get_permissions( contributor) if contributor._id == user._id and not contributor.is_registered: new_component.add_unregistered_contributor( fullname=contributor.fullname, email=contributor.email, permissions=perm, auth=auth, existing_user=contributor) else: new_component.add_contributor(contributor, permissions=perm, auth=auth) new_component.save() redirect_url = new_component.url + 'contributors/' message = ( 'Your component was created successfully. You can edit the contributor permissions below, ' 'work on your <u><a href={component_url}>component</a></u> or return to the <u> ' '<a href="{project_url}">project page</a></u>.').format( component_url=new_component.url, project_url=node.url) status.push_status_message(message, kind='info', trust=True) return { 'status': 'success', }, 201, None, redirect_url else: # TODO: This function doesn't seem to exist anymore? status.push_errors_to_status(form.errors) raise HTTPError(http.BAD_REQUEST, redirect_url=node.url)
def project_new_node(auth, node, **kwargs): form = NewNodeForm(request.form) user = auth.user if form.validate(): try: new_component = new_node( title=strip_html(form.title.data), user=user, category=form.category.data, parent=node, ) except ValidationError as e: raise HTTPError( http.BAD_REQUEST, data=dict(message_long=e.message) ) redirect_url = node.url message = ( 'Your component was created successfully. You can keep working on the project page below, ' 'or go to the new <u><a href={component_url}>component</a></u>.' ).format(component_url=new_component.url) if form.inherit_contributors.data and node.has_permission(user, WRITE): for contributor in node.contributors: perm = CREATOR_PERMISSIONS if contributor._id == user._id else node.get_permissions(contributor) if contributor._id == user._id and not contributor.is_registered: new_component.add_unregistered_contributor( fullname=contributor.fullname, email=contributor.email, permissions=perm, auth=auth, existing_user=contributor ) else: new_component.add_contributor(contributor, permissions=perm, auth=auth) new_component.save() redirect_url = new_component.url + 'contributors/' message = ( 'Your component was created successfully. You can edit the contributor permissions below, ' 'work on your <u><a href={component_url}>component</a></u> or return to the <u> ' '<a href="{project_url}">project page</a></u>.' ).format(component_url=new_component.url, project_url=node.url) status.push_status_message(message, kind='info', trust=True) return { 'status': 'success', }, 201, None, redirect_url else: # TODO: This function doesn't seem to exist anymore? status.push_errors_to_status(form.errors) raise HTTPError(http.BAD_REQUEST, redirect_url=node.url)
def project_new_node(auth, node, **kwargs): form = NewNodeForm(request.form) user = auth.user if form.validate(): try: new_component = new_node( title=strip_html(form.title.data), user=user, category=form.category.data, parent=node, ) except ValidationValueError as e: raise HTTPError(http.BAD_REQUEST, data=dict(message_long=e.message)) redirect_url = new_component.url message = ( 'Your component was created successfully. You can keep working on the component page below, ' 'or return to the <u><a href="{url}">project page</a></u>.' ).format(url=node.url) if form.inherit_contributors.data and node.has_permission(user, ADMIN): for contributor in node.contributors: new_component.add_contributor( contributor, permissions=node.get_permissions(contributor), auth=auth) new_component.save() redirect_url = redirect_url + 'contributors/' message = ( 'Your component was created successfully. You can edit the contributor permissions below, ' 'work on your <u><a href=' + new_component.url + '>component</a></u> or return to the <u><a href="{url}">project page</a></u>.' ).format(url=node.url) status.push_status_message(message, kind='info', trust=True) return { 'status': 'success', }, 201, None, redirect_url else: # TODO: This function doesn't seem to exist anymore? status.push_errors_to_status(form.errors) raise HTTPError(http.BAD_REQUEST, redirect_url=node.url)
def project_new_node(auth, node, **kwargs): form = NewNodeForm(request.form) user = auth.user if form.validate(): try: new_component = new_node( title=strip_html(form.title.data), user=user, category=form.category.data, parent=node, ) except ValidationValueError as e: raise HTTPError( http.BAD_REQUEST, data=dict(message_long=e.message) ) redirect_url = new_component.url message = ( 'Your component was created successfully. You can keep working on the component page below, ' 'or return to the <u><a href="{url}">project page</a></u>.' ).format(url=node.url) if form.inherit_contributors.data and node.has_permission(user, ADMIN): for contributor in node.contributors: new_component.add_contributor(contributor, permissions=node.get_permissions(contributor), auth=auth) new_component.save() redirect_url = redirect_url + 'contributors/' message = ( 'Your component was created successfully. You can edit the contributor permissions below, ' 'work on your <u><a href=' + new_component.url + '>component</a></u> or return to the <u><a href="{url}">project page</a></u>.' ).format(url=node.url) status.push_status_message(message, kind='info', trust=True) return { 'status': 'success', }, 201, None, redirect_url else: # TODO: This function doesn't seem to exist anymore? status.push_errors_to_status(form.errors) raise HTTPError(http.BAD_REQUEST, redirect_url=node.url)
def project_new_node(auth, node, **kwargs): form = NewNodeForm(request.form) user = auth.user if form.validate(): node = new_node( title=strip_html(form.title.data), user=user, category=form.category.data, parent=node, ) message = ( 'Your component was created successfully. You can keep working on the component page below, ' 'or return to the <u><a href="{url}">Project Page</a></u>.' ).format(url=node.url) status.push_status_message(message, 'info') return { 'status': 'success', }, 201, None, node.url else: status.push_errors_to_status(form.errors) raise HTTPError(http.BAD_REQUEST, redirect_url=node.url)