def test_form_view(request): if request.method == 'POST': request_form = PublishForm(request.POST) if request_form.is_valid(): request_dict = request_form.clean() print(request_dict) return render(request, 'test.html', {'pub_form': request_form}) else: pub_form = PublishForm() return render(request, 'test.html', {'pub_form': pub_form})
def publish_things(): form = PublishForm() if request.method == 'GET': with g.db as cur: sql = """select title,class_name,id from publishes """ cur.execute(sql) publish_list = [ dict(title=row[0], class_name=row[1], id=row[2]) for row in cur.fetchall() ] return render_template('modify.html', form=form, publish_list=publish_list) else: if form.validate_on_submit(): with g.db as cur: sql = """insert into publishes(title,class_name) values('{0}','{1}') """.format(form.title.data, form.class_name.data) cur.execute(sql) flash('You have modify a publish') else: flash(form.errors) return redirect(url_for('publish_things'))
def publish(): form = PublishForm() if form.validate_on_submit(): deviceName = str(form.name.data) deviceId = str(form.did.data) location = str(form.location.data) deviceType = str(form.dtype.data) deviceNode = objectify.Element("Device") deviceNode.name = deviceName deviceNode.id = deviceId deviceNode.location = location deviceNode.type = deviceType deviceNode.value = random.uniform(0,100) doc = etree.parse(".\generated\DeviceList-a.xml") xmlRoot=doc.getroot() xmlRoot.append(deviceNode) objectify.deannotate(xmlRoot) etree.cleanup_namespaces(xmlRoot) xmlfp = open('.\generated\DeviceList-a.xml', 'w') xmlstr = etree.tostring(xmlRoot, pretty_print=True, xml_declaration=True) xmlstr=xmlstr.decode("utf-8") xmlfp.write(xmlstr) xmlfp.close() return redirect(url_for('index')) return render_template('MAWSPublish.html', form=form)
def create_form(self, edit_form=False): """Return form for publish page. :param bool edit_form: Set if edit form """ solr_update_url = self.service_urls()['solr_update_url'] form = PublishForm(meta={'solr_url': (solr_update_url != '')}) return form
def submitted_docs(): form = PublishForm(request.form) removeForm = RemoveForm(request.form) publish_errors = False #If user clicked publish if form.validate_on_submit( ) and request.form['submit'] == 'Publish' and current_user.role == 'Admin': for input in request.form: #split name to get document id input = input.split('_') if input[0] == 'publish': doc_id = input[1] #get document form database document = db.session.query(Document).join(Submit).join( User).filter( or_( Submit.uid == session['uid'], current_user.role == 'Admin', and_(current_user.role == 'Agency_Admin', Document.agency == current_user.agency)) ).filter(Document.status == "publishing").filter( Document.id == doc_id).first() if not document.category: publish_errors = True break if document: #check if document had multiple parts results = db.session.query(Document).join(Submit).join( User).filter( or_( Submit.uid == session['uid'], current_user.role == 'Admin', and_(current_user.role == 'Agency_Admin', Document.agency == current_user.agency)) ).filter(Document.status == "publishing").filter( Document.common_id != None).filter( document.common_id == document.common_id).all() #change the status od documents to published if not results: document.status = 'published' document.approved = 'yes' else: for result in results: result.status = 'published' result.approved = 'yes' db.session.commit() if not publish_errors: return redirect(url_for('submitted_docs')) #if user clicked removed if form.validate_on_submit() and request.form['submit'] == 'Remove': for input in request.form: input = input.split('_') if input[0] == 'remove': doc_id = input[1] #get document document = db.session.query(Document).join(Submit).join( User).filter( or_( Submit.uid == session['uid'], current_user.role == 'Admin', and_(current_user.role == 'Agency_Admin', Document.agency == current_user.agency)) ).filter(Document.status == "publishing").filter( Document.id == doc_id).first() if document: #check if doucment has multiple parts results = db.session.query(Document).join(Submit).join( User).filter( or_( Submit.uid == session['uid'], current_user.role == 'Admin', and_(current_user.role == 'Agency_Admin', Document.agency == current_user.agency)) ).filter(Document.status == "publishing").filter( Document.common_id != None).filter( document.common_id == Document.common_id).all() #change status to removed if not results: document.status = 'removed' else: for result in results: result.status = 'removed' db.session.commit() #query all documents that have status submitted docs_sec = db.session.query( Document, func.count(Document.common_id), User).outerjoin(Section).join(Submit).join(User).filter( Document.common_id != None).filter( or_( Submit.uid == session['uid'], current_user.role == 'Admin', and_(Document.agency == current_user.agency, current_user.role == 'Agency_Admin'))).filter( Document.status == "publishing").group_by( Document.common_id).all() docs_null = db.session.query(Document, func.count( Document.id), User).outerjoin(Section).join(Submit).join(User).filter( Document.common_id == None).filter( or_( Submit.uid == session['uid'], current_user.role == 'Admin', and_(Document.agency == current_user.agency, current_user.role == 'Agency_Admin'))).filter( Document.status == "publishing").group_by( Document.id).all() docs = docs_sec + docs_null return render_template('submitted.html', results=docs, form=form, removeForm=removeForm, publish_errors=publish_errors, current_user=current_user)