예제 #1
0
def main():
	# Arguments:
	form = cgi.FieldStorage()
	sn = cgi.escape(form.getvalue('serial_num'))		# This is coming from a form.
	cardid = cgi.escape(form.getvalue('card_id'))
	person_id = base.cleanCGInumber(form.getvalue('person_id'))
	db = settings.get_db()
	note = cgi.escape(form.getvalue('note')) if form.getvalue('note') else False
	
#	base.begin()
#	print person_id
#	print note
#	base.bottom()
	
	if not person_id:
		base.error(db, "You must select a tester to be associated with this note.")
	else:
		if not note:
			base.error(db, "You left the note field empty. You're not allowed to make an empty note.")
		else:
			# Begin:
			base.begin()
			base.header_redirect("module.py?db={0}&card_id={1}#notes".format(db, cardid))
			base.top(db)
			
			# Add note:
			result = add_note(db, sn, note, person_id)
			if result:
				print "added note:<br>"
				print note
#				base.header_redirect_module_notes(card_id, serial_num)
			
			base.bottom()
예제 #2
0
def main():
	# Arguments
	form = cgi.FieldStorage()
	cardid = base.cleanCGInumber(form.getvalue('card_id'))
	suggested_test = base.cleanCGInumber(form.getvalue('suggested'))
	db = settings.get_db()
	sn = module.fetch_sn_from_cardid(db, cardid)
	
	# Basic:
	base.begin()
	base.header(title='{0}: test'.format(db))
	base.top(db)
	
	# Test form:
	print_test_form(db, cardid, sn, suggested_test)
	
	base.bottom()
예제 #3
0
def main():
	# Arguments:
	form = cgi.FieldStorage()
	person_id = base.cleanCGInumber(form.getvalue("person_id"))
	test_type = base.cleanCGInumber(form.getvalue("test_type"))
	card_id = base.cleanCGInumber(form.getvalue("card_id"))
	success = (False, True)[bool(form.getvalue("success"))]
	db = settings.get_db()
	
	## Comments:
	comments = form.getvalue("comments")
	if comments:
		comments = cgi.escape(comments)
		
		if person_id != 0:
			# Basic:
			base.begin()
			base.header_redirect("module.py?db={0}&card_id={1}".format(db, card_id))
			base.top(db)
	
			# Add the test to the DB:
			test_id = add_test_basic(db, person_id, test_type, card_id, success, comments)
			## Attachments:
			for i in range(1, 4):
				afile = form['attach{0}'.format(i)]
				if (afile.filename):
					adesc= form.getvalue("attachdesc{0}".format(i))
					if adesc:
						adesc = cgi.escape(adesc)
					acomment= form.getvalue("attachcomment{0}".format(i))
					if acomment:
						acomment = cgi.escape(acomment)
					add_test_attachment(db, test_id, afile, adesc, acomment)
	
			base.bottom()
		else:
			base.error(db, "You must select a tester from the available list.")
	else:
		base.error(db, "You must input comments before the test can be added.")
예제 #4
0
def main():
	# Arguments:
	form = cgi.FieldStorage()
	cardid = base.cleanCGInumber(form.getvalue('card_id'))
	db = settings.get_db()
	
	# Basic:
	base.begin()
	base.header(title='{0}: module'.format(db))
	base.top(db)
	
	# Form:
	print_form(db, cardid)
	
	base.bottom()
예제 #5
0
def main():
	# Arguments:
	form = cgi.FieldStorage()
	test_id = base.cleanCGInumber(form.getvalue('test_id'))
	comment = form.getvalue('comment')
	db = settings.get_db()
	card_id = test.fetch_cardid_from_testid(db, test_id)
	testtype_id = test.fetch_testtypeid_from_testid(db, test_id)
	
	# Revoke:
	revoke_test(db, test_id, revoke=True, comment=comment)
	
	# Basic:
	base.begin()
#	base.header(title='{0}: revoke'.format(db))
	base.header_redirect("module.py?db={0}&card_id={1}#test-{2}".format(db, card_id, testtype_id))
	base.top(db)

	base.bottom()
예제 #6
0
#!/usr/bin/python

import cgi
import base
import home_page_list
import module_functions
from connect import connect

# cgi header
print "Content-type: text/html\n"


form = cgi.FieldStorage()
card_id = base.cleanCGInumber(form.getvalue("card_id"))
serial_num = base.cleanCGInumber(form.getvalue("serial_num"))
base.header(title="uHTR ePortage")
base.top()
# print 'card_id = ', card_id
# print  'serial_num = ', serial_num

module_functions.add_test_tab(serial_num, card_id)

revokes = module_functions.Portage_fetch_revokes(serial_num)

db = connect(0)
cur = db.cursor()

cur.execute("select test_type, name from Test_Type where required = 1 order by relative_order ASC")
for test_type in cur:
    module_functions.ePortageTest(test_type[0], serial_num, test_type[1], revokes)
예제 #7
0
#!/usr/bin/python
import cgi
import base
import home_page_list
import exportCard_functions


#cgi header
print "Content-type: text/html\n"

form = cgi.FieldStorage()
#card_id = form.getvalue('card_id')
serial_num = base.cleanCGInumber(form.getvalue('serial_num'))

base.header(title='Exporting Card: {0}'.format(serial_num))
base.top()

exportCard_functions.export(serial_num)

base.bottom()
예제 #8
0
#!/usr/bin/python

import cgi
import base
import home_page_list
import add_test_functions


#cgi header
print "Content-type: text/html\n"

form = cgi.FieldStorage()
#card_id = form.getvalue('card_id')
serial_num = base.cleanCGInumber(form.getvalue('serial_num'))
suggested_test = base.cleanCGInumber(form.getvalue('suggested'))

base.header(title='Add Test')
base.top()

add_test_functions.add_test_template(serial_num,suggested_test)

base.bottom()
예제 #9
0
#!/usr/bin/python

import cgi
import base
import home_page_list
#import add_test_functions

#cgi header
print "Content-type: text/html\n"

form = cgi.FieldStorage()
test_id = base.cleanCGInumber(form.getvalue('test_id'))
#suggested_test = base.cleanCGInumber(form.getvalue('suggested'))

base.header(title='Revoke Success')
base.top()

print '<br><br>'
print 'Revoking test %i from list of valid tests'%test_id
print 'Please add any comments about why the test is being revoked:'
print '<form action="revokeFormHandler.py" method="post" enctype="multipart/form-data">'
print '  <input type="hidden" name="test_id" value=%i>'%test_id
print '  <br><br>'
print '  <textarea rows="5" cols="100" name="comments"></textarea>'
print '  <br><br>'
print '  <input type="submit" value="Revoke">'
print '</form>'

base.bottom()
#!/usr/bin/python

import cgi
import base
import home_page_list
import module_functions
from connect import connect

#cgi header
print "Content-type: text/html\n"


form = cgi.FieldStorage()
card_id = base.cleanCGInumber(form.getvalue('card_id'))
serial_num = base.cleanCGInumber(form.getvalue('serial_num'))
base.header(title='ngCCM ePortage')
base.top()
#print 'card_id = ', card_id
#print  'serial_num = ', serial_num

module_functions.add_test_tab(serial_num, card_id)

revokes=module_functions.Portage_fetch_revokes(serial_num)

db = connect(0)
cur = db.cursor()

cur.execute("select test_type, name , desc_long from Test_Type where required = 1 order by relative_order ASC")
for test_type in cur:
	module_functions.ePortageTest(test_type[0], serial_num, test_type[1], revokes, test_type[2])
예제 #11
0
#!/usr/bin/python
import cgi
import base
import home_page_list
import module_functions
from connect import connect

#cgi header
print "Content-type: text/html\n"

form = cgi.FieldStorage()
card_id = base.cleanCGInumber(form.getvalue('card_id'))
serial_num = base.cleanCGInumber(form.getvalue('serial_num'))
base.header(title='QIE card ePortage')
base.top()
#print 'card_id = ', card_id
#print  'serial_num = ', serial_num

module_functions.add_test_tab(serial_num, card_id)

revokes = module_functions.Portage_fetch_revokes(serial_num)

db = connect(0)
cur = db.cursor()

cur.execute(
    "select test_type, name from Test_Type where required = 1 order by relative_order ASC"
)
for test_type in cur:
    module_functions.ePortageTest(test_type[0], serial_num, test_type[1],
                                  revokes)
예제 #12
0
    return not rows==[] 

def addTestToRevokeList( test_id ) :

    db = connect(1)
    cur = db.cursor()

    cur.execute("INSERT INTO TestRevoke SET test_id=%i,comment='%s'"%(test_id,comments))
    db.commit()

#cgi header
print "Content-type: text/html\n"

form = cgi.FieldStorage()
test_id = base.cleanCGInumber(form.getvalue("test_id"))
comments = form.getvalue("comments")

base.header(title='Revoke')
base.top()

print '<br><br>'

if not inRevokeList( test_id ) : 
    addTestToRevokeList( test_id ) 
    print 'Done'
else :
    print 'Test already revoked...'

base.bottom()
예제 #13
0
#!/usr/bin/python

import cgi
import base
import module_functions
from connect import connect
import settings
import os.path
import sys

form = cgi.FieldStorage()
attach_id = base.cleanCGInumber(form.getvalue('attach_id'))

db = connect(0)
cur = db.cursor()

cur.execute(
    "SELECT test_id, attachmime, originalname FROM Attachments WHERE attach_id=%d"
    % (attach_id))

if not cur.with_rows:
    print "Content-type: text/html\n"
    base.header("Attachment Request Error")
    base.top()
    print "<h1>Attachment not available</h1>"
    base.bottom()
else:
    thevals = cur.fetchall()
    attpath = settings.getAttachmentPathFor(thevals[0][0], attach_id)
    if not os.path.isfile(attpath):
        print "Content-type: text/html\n"
예제 #14
0
#!/usr/bin/python

import cgi
import base
import add_test_functions

#cgi header
print "Content-type: text/html\n"

form = cgi.FieldStorage()
person_id = base.cleanCGInumber(form.getvalue("person_id"))
test_type = base.cleanCGInumber(form.getvalue("test_type"))
serial_num = base.cleanCGInumber(form.getvalue("serial_number"))
success = base.cleanCGInumber(form.getvalue("success"))
comments = form.getvalue("comments")

if comments:
    comments = cgi.escape(comments)

base.header(title='Add Test')
base.top()

test_id = add_test_functions.add_test(person_id, test_type, serial_num,
                                      success, comments)

for itest in (1, 2, 3):
    afile = form['attach%d' % (itest)]
    if (afile.filename):
        adesc = form.getvalue("attachdesc%d" % (itest))
        if adesc:
            adesc = cgi.escape(adesc)
예제 #15
0
#!/usr/bin/python

import cgi
import base
import add_test_functions

# cgi header
print "Content-type: text/html\n"

form = cgi.FieldStorage()
person_id = base.cleanCGInumber(form.getvalue("person_id"))
test_type = base.cleanCGInumber(form.getvalue("test_type"))
serial_num = base.cleanCGInumber(form.getvalue("serial_number"))
success = base.cleanCGInumber(form.getvalue("success"))
comments = form.getvalue("comments")

if comments:
    comments = cgi.escape(comments)

base.header(title="Add Test")
base.top()

test_id = add_test_functions.add_test(person_id, test_type, serial_num, success, comments)

for itest in (1, 2, 3):
    afile = form["attach%d" % (itest)]
    if afile.filename:
        adesc = form.getvalue("attachdesc%d" % (itest))
        if adesc:
            adesc = cgi.escape(adesc)
        acomment = form.getvalue("attachcomment%d" % (itest))
예제 #16
0
#!/usr/bin/python

import cgi
import base
import module_functions
from connect import connect
import settings
import os.path
import sys

form = cgi.FieldStorage()
attach_id = base.cleanCGInumber(form.getvalue('attach_id'))

db=connect(0)
cur=db.cursor()

cur.execute("SELECT test_id, attachmime, originalname FROM Attachments WHERE attach_id=%d" % (attach_id));

if not cur.with_rows:
    print "Content-type: text/html\n"
    base.header("Attachment Request Error")
    base.top()
    print "<h1>Attachment not available</h1>"
    base.bottom()
else:    
    thevals=cur.fetchall();
    attpath=settings.getAttachmentPathFor(thevals[0][0],attach_id)
    if not os.path.isfile(attpath):
        print "Content-type: text/html\n"
        print 
        print attpath
예제 #17
0
def addTestToRevokeList(test_id):

    db = connect(1)
    cur = db.cursor()

    cur.execute("INSERT INTO TestRevoke SET test_id=%i,comment='%s'" %
                (test_id, comments))
    db.commit()


#cgi header
print "Content-type: text/html\n"

form = cgi.FieldStorage()
test_id = base.cleanCGInumber(form.getvalue("test_id"))
comments = form.getvalue("comments")

base.header(title='Revoke')
base.top()

print '<br><br>'

if not inRevokeList(test_id):
    addTestToRevokeList(test_id)
    print 'Done'
else:
    print 'Test already revoked...'

base.bottom()