コード例 #1
0
def doEdit():
    status, table_data, db = pageInit("Edit", formJS=1)

    if status != 'success':
        message = "Could not connect to the database\n" + status
        exit(message.table_data, db)

    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)

    if status != 'success':
        exit(details, table_data, db)

    sqlStatement = pmt_utils.selectAllColumnsSqlStatement(
        table_data, 'ecp', form["key_id"].value)

    dbResult = pmt_utils.executeSQL(db, sqlStatement)

    if dbResult['status'] != 'success':
        message = "Could not retrieve item.\n" + dbResult['message']
        exit(message, table_data, db)

    result = dbResult['result']
    table_data = pmt_utils.dbToTableData(table_data, 'ecp', result[0])
    display_questionnaire(db, table_data, 'edit')
    pmt_utils.alertsArea(form, "Item data retrieved successfully")

    del_priv = pmt_utils.hasPriv(db, username, 'del_ecp')
    list_url = '/%s-cgi-bin/ecp_admin.pyc?performDbQuery=1' % (db_name)
    help_url = "/%s/html/ecp_intro.html" % db_name
    editFunctionButtons(form["key_id"].value, list_url, help_url, del_priv)

    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')

    pmt_utils.textbox(None, 'analyst_signature',
                      table_data['ecp']['analyst_signature']['value'], '40',
                      '40', None, None, 'hidden')
    pmt_utils.textbox(None, 'swm_analysis_signature',
                      table_data['ecp']['swm_analysis_signature']['value'],
                      '40', '40', None, None, 'hidden')
    pmt_utils.textbox(None, 'swm_completion_signature',
                      table_data['ecp']['swm_completion_signature']['value'],
                      '40', '40', None, None, 'hidden')
    pmt_utils.textbox(None, 'gccb_signature',
                      table_data['ecp']['gccb_signature']['value'], '40', '40',
                      None, None, 'hidden')
    pmt_utils.textbox(None, 'ccb_signature',
                      table_data['ecp']['ccb_signature']['value'], '40', '40',
                      None, None, 'hidden')
    pmt_utils.textbox(None, 'qa_completion_signature',
                      table_data['ecp']['qa_completion_signature']['value'],
                      '40', '40', None, None, 'hidden')
    pmt_utils.textbox(None, 'test_completion_signature',
                      table_data['ecp']['test_completion_signature']['value'],
                      '40', '40', None, None, 'hidden')
    pageEnd(table_data, db)
コード例 #2
0
ファイル: inv_admin.py プロジェクト: scottlinuxden/pmt
def doCreate():
    status, table_data, db = pageInit('Create', formJS=1)
    if status != 'success':
        message = "Could not connect to db,\n" + dbResult['message']
        exit(message)
    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)

    if status != 'success':
        exit(details)

    display_questionnaire(db, table_data, 'edit')
    message = "Enter information on form and depress Create button"
    pmt_utils.alertsArea(form, message)

    listing_url = '/%s-cgi-bin/inv_admin.pyc?performDbQuery=1' % (db_name)
    help_url = '/%s/html/sprsum.html' % db_name
    pmt_utils.createFunctionButtons('create', listing_url, help_url)

    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')

    po_id = table_data['inventory']['po_id']['value']
    print '<input type=hidden name=po_id value="%s">' % po_id
    val = table_data['inventory']['prop_id_assigned_by_signature']['value']
    pmt_utils.textbox(None, 'prop_id_assigned_by_signature', val, '40', '40',
                      None, None, 'hidden')
    pageEnd(table_data, db)
コード例 #3
0
ファイル: cvsweb.py プロジェクト: scottlinuxden/pmt
def verifyUserPass():
	db = pmt_utils.connectDB(declarations.pmt_info['browser_username'],
				 declarations.pmt_info['browser_password'],
				 declarations.pmt_info['db_name'])

	# could not connect to db
	if db['status'] != 'success':
		message= "Can not connect to database,\n" + db['message']
		pmt_utils.alertsArea(form,message)
		displayLogin(form)
		sys.exit(1)
	
	status, details = db_authentication.password_valid(db['result'],
							   crypt_salt=db_name,
							   username=username,
							   password=password)
	if status != 'success':
		displayLogin(form,details)
		sys.exit(1)

	cvs_web_priv=pmt_utils.hasPriv(db['result'],username,'cvs_web')
	cvs_export_priv=pmt_utils.hasPriv(db['result'],username,'cvs_export')

	if cvs_web_priv==0 and cvs_export_priv==0:
		message='User %s does not have access to CVS' % username
		displayLogin(form, message)
		sys.exit()

	return cvs_web_priv,cvs_export_priv
コード例 #4
0
def exit(message,table_data=None,db=None,display_login=1):

    if display_login:
        pmt_utils.usernamePasswordDisplay(username)
    pmt_utils.alertsArea(form, message);

    create_priv=0

    #url='/%s/html/sprsum.html' % db_name
    #pmt_utils.queryFunctionButtons(create_priv, url)
    print '<HR>'
    print '<TABLE><TR>'
    java="return goto_url ('doc_maintenance.pyc')"
    html='<INPUT TYPE="button" NAME="return_to_menu" VALUE=" Listing " '
    html=html+'onClick="%s">' % java
    pmt_utils.tableColumn(html)
    print '</TR></TABLE>'

    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')
    
    if table_data!=None and db!=None:
        pageEnd(table_data,db)
    sys.exit()
コード例 #5
0
def exit(message):
    pmt_utils.usernamePasswordDisplay()
    pmt_utils.alertsArea(form, message)
    queryFunctionButtons(0, '/%s/html/contactsum.html' % (db_name))
    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')
    sys.exit()
コード例 #6
0
def query_project_members(performDbQuery=0,onLoad=None,queryFields=None):

    status,table_data,db=pageInit('Members',formJS=0)
    if status != 'success':
        message='Could not connect to database.\n%s' % status
        exit(message)

    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)
    if status != 'success':
        exit(details)

    # Check for user admin privileges
    if pmt_utils.hasPriv(db, username,'user_admin')!=1:
        message='User %s does not have user admin privileges.' % username
        exit(message)

    queryFields,whereFields=pmt_utils.getQueryWhereFields(form,
                                                          table_data,
                                                          'project_members')

    if queryFields == None or queryFields == []:
        queryFields = []
        whereFields = None
        queryFields.append('first_name')
        queryFields.append('last_name')
        queryFields.append('phone_number_voice')

    dbResult,queryStatement=pmt_utils.executeQuery(db,
                                                   table_data,
                                                   'project_members',
                                                   queryFields,
                                                   whereFields,
                                                   'query',
                                                   queryItemFunctionsHtml,
                                                   'ORDER by last_name',
                                                   ['id'],
                                                   None,None,
                                                   "return execute('query')",
                                                   ["",""])
    if dbResult['status'] != 'success':
        message="Could not get member data from db.\n%s" % dbResult['message']
        exit(message)
    msg="Last Query Statement: %s\n" % queryStatement
    msg=msg+"%s project members retrieved from db" % `len(dbResult['result'])`
    pmt_utils.alertsArea(form,msg)

    # Add buttons and hidden fields
    help_url='/%s/html/contactsum.html' % db_name
    pmt_utils.queryFunctionButtons(1,help_url)

    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')
    
    pageEnd(table_data,db)
コード例 #7
0
def doSave():
    saveDueToCreate = 0
    status, table_data, db = pageInit('Save', formJS=1)

    if status != 'success':
        message = "Could not connect to db.\n" + status
        exit(message)

    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)

    if status != 'success':
        exit(details)

    if form["key_id"].value == 'create':
        saveDueToCreate = 1
        queryResult = pmt_utils.executeSQL(db, "SELECT NEXTVAL('pai_id_seq')")

        form["key_id"].value = ` queryResult['result'][0]['nextval'] `

    dbResult = pmt_utils.saveForm(table_data, db, form['key_id'].value, "pai",
                                  " WHERE id = '%s'" % form["key_id"].value,
                                  form)

    if dbResult['status'] != 'success':
        message = "Action item could not be saved.\n" + dbResult['message']
        exit(message)

    if saveDueToCreate:
        subject = 'New PAI #%s has been generated' % (form['key_id'].value)
        msg = "PAI #%s has been generated.\n\n" % form["key_id"].value
        msg = msg + "Assigned to: %s\n" % form['assigned_to'].value
        msg = msg + "Problem Description:\n%s" % form['action_required'].value
        msg = msg + "\n\nLog into the Project Action Item tracking tool at "
        msg = msg + "http://www.isrparc.org for further info.\n\n"
        msg = msg + "If you do not wish to be on this mailing list please "
        msg = msg + "send an email requesting removal to [email protected].\n"
        pmt_utils.emailList(db, 'localhost', 'pai_list', subject, msg)

    table_data = pmt_utils.formToTableData(table_data, 'pai', form,
                                           form['key_id'].value)

    pmt_utils.display_form(table_data, 'pai', 1, 'useValues', 1, db)
    pmt_utils.alertsArea(form, "Action item successfully saved")

    # generate function button row
    listing_url = '/%s-cgi-bin/pai_admin.pyc?performDbQuery=1' % (db_name)
    help_url = '/%s/html/paisum.html' % (db_name)
    editFunctionButtons(form["key_id"].value, listing_url, help_url)

    # generate hidden fields for form
    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')

    pageEnd(table_data, db)
コード例 #8
0
def doCreate():

    status, table_data, db = pageInit('Create', formJS=1)

    if status != 'success':
        message = "Item could not be created.\n" + status
        exit(message)

    # initialize form data values to zero or blank and set origination date
    table_data = pmt_utils.init_table_data(table_data, 'ecp')
    now = time_pkg.current_time_MM_DD_YYYY()
    table_data['ecp']['origination_date']['value'] = now

    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)

    if status != 'success':
        exit(details)

    display_questionnaire(db, table_data, 'edit')

    # display alerts area to create
    message = "Enter information on form and depress Create button"
    pmt_utils.alertsArea(form, message)

    # create functions button row
    listing_url = '/%s-cgi-bin/ecp_admin.pyc?performDbQuery=1' % (db_name)
    help_url = "/%s/html/ecp_intro.html" % db_name
    pmt_utils.createFunctionButtons('create', listing_url, help_url)

    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')

    pmt_utils.textbox(None, 'analyst_signature',
                      table_data['ecp']['analyst_signature']['value'], '40',
                      '40', None, None, 'hidden')
    pmt_utils.textbox(None, 'swm_analysis_signature',
                      table_data['ecp']['swm_analysis_signature']['value'],
                      '40', '40', None, None, 'hidden')
    pmt_utils.textbox(None, 'swm_completion_signature',
                      table_data['ecp']['swm_completion_signature']['value'],
                      '40', '40', None, None, 'hidden')
    pmt_utils.textbox(None, 'ccb_signature',
                      table_data['ecp']['ccb_signature']['value'], '40', '40',
                      None, None, 'hidden')
    pmt_utils.textbox(None, 'gccb_signature',
                      table_data['ecp']['gccb_signature']['value'], '40', '40',
                      None, None, 'hidden')
    pmt_utils.textbox(None, 'qa_completion_signature',
                      table_data['ecp']['qa_completion_signature']['value'],
                      '40', '40', None, None, 'hidden')
    pmt_utils.textbox(None, 'test_completion_signature',
                      table_data['ecp']['test_completion_signature']['value'],
                      '40', '40', None, None, 'hidden')
    pageEnd(table_data, db)
コード例 #9
0
ファイル: passwd_admin.py プロジェクト: scottlinuxden/pmt
def display_form(form, alerts):

    username = ''
    current_password = ''
    new_password = ''
    verify_password = ''

    if form.has_key('username'):
        username = form['username'].value
    if form.has_key('current_password'):
        current_password = form['current_password'].value

    if form.has_key('new_password'):
        new_password = form['new_password'].value

    if form.has_key('verify_password'):
        verify_password = form['verify_password'].value

    print '<html><head><title>Password Maintenance</title></head>'
    #    print '<body bgcolor="#B7BAB7" TEXT="#000000">
    print '<body background="/%s/icons/circ_bg.jpg">' % (
        declarations.pmt_info['db_name'])
    #    print '<H1>Password Maintenance</H1>'
    pmt_utils.mainHeading('Maintenance')
    pmt_utils.subHeading('Change Password')

    print '<form action="/%s-cgi-bin/passwd_admin.pyc" method="POST" enctype="application/x-www-form-urlencoded">' % (
        declarations.pmt_info['db_name'])

    print '<TABLE BORDER=0>'

    print '<TR><TD><B>Username</B>:</TD><TD><input name="username" type="text" size="9" maxlength="9" value="%s"></TD></TR>' % (
        username)

    print '<TR><TD><B>Current Password:</B></TD><TD><input name="current_password" type="password" size="8" maxlength="8" value="%s"></TD></TR>' % (
        current_password)

    print '<TR><TD><B>New Password:</B></TD><TD><input name="new_password" type="password" size="8" maxlength="8" value="%s"></TD></TR>' % (
        new_password)

    print '<TR><TD><B>Verify Password:</B></TD><TD><input name="verify_password" type="password" size="8" maxlength="8" value="%s"></TD></TR>' % (
        verify_password)

    print '<TR><TD COLSPAN=2>'
    pmt_utils.alertsArea(form, alerts)
    print '</TD></TR>'

    print """</TABLE>
    <HR>
    <input name="submit" type="submit" value="Update Password">
    <p align="right"><A HREF="mailto:[email protected]">Contact Support Team</a>"""

    print """</form>
コード例 #10
0
ファイル: inv_admin.py プロジェクト: scottlinuxden/pmt
def doEdit():

    status, table_data, db = pageInit("Edit", formJS=1)

    if status != 'success':
        message = "Could not connect to the database.\n" + status
        exit(message)

    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)

    if status != 'success':
        exit(details)

    sqlStatement = pmt_utils.selectAllColumnsSqlStatement(
        table_data, 'inventory', form["key_id"].value)
    dbResult = pmt_utils.executeSQL(db, sqlStatement)

    if dbResult['status'] != 'success':
        message = "Could not retrieve item to edit.\n" + dbResult['message']
        exit(message)

    result = dbResult['result']
    table_data = pmt_utils.dbToTableData(table_data, 'inventory', result[0])
    display_questionnaire(db, table_data, 'edit')
    pmt_utils.alertsArea(form, "Item data retrieved successfully")

    pmt_utils.textbox(
        None, 'prop_id_assigned_by_signature',
        table_data['inventory']['prop_id_assigned_by_signature']['value'],
        '40', '40', None, None, 'hidden')

    listing_url = '/%s-cgi-bin/inv_admin.pyc?performDbQuery=1' % (db_name)
    help_url = '/%s/html/sprsum.html' % (db_name)
    po_id = table_data['inventory']['po_id']['value']
    print '<input type=hidden name=po_id value="%s">' % po_id

    if form.has_key("return_to_po"):
        print '<input type=hidden name=return_to_po value=1>'
        java = "return goto_url('/%s-cgi-bin/po_admin.pyc?action=edit&key_id=%s')" % (
            db_name, table_data['inventory']['po_id']['value'])
        html = '<INPUT NAME="edit" type="button" value=" Return to PO " onClick="%s">' % java
        print '<BR><BR>'
        print html

    editFunctionButtons(form["key_id"].value, listing_url, help_url)
    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')

    pageEnd(table_data, db)
コード例 #11
0
def doEdit():

    status,table_data,db = pageInit('Edit',formJS=1)
    
    if status!='success':
        message="Could not connect to db.\n%s" % status
        exit(message)
        
    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)

    if status != 'success':
        exit(details)

    sqlStatement = pmt_utils.selectAllColumnsSqlStatement(table_data,
							  'project_members',
							  form["key_id"].value)
    dbResult = pmt_utils.executeSQL(db, sqlStatement)

    if dbResult['status'] != 'success':
        message="Could not get project member data.\n%s" % dbResult['message']
        exit(message)

    result = dbResult['result']
    table_data=pmt_utils.dbToTableData(table_data,'project_members',result[0])
    pmt_utils.display_form(table_data,'project_members', 1,'useValues', 1, db)

    # get user privileges and display them
    sqlStatement = "select * from priviledges where " +\
                   "member_username='******'" % (result[0]['member_username'])
    dbResult = pmt_utils.executeSQL(db, sqlStatement)
    if dbResult['status'] != 'success':
        message="Could not get privileges from db.\n%s" % dbResult['message']
        exit(message,table_data,db)

    result = dbResult['result']
    table_data = pmt_utils.dbToTableData(table_data,'priviledges', result[0])
    displayPriviledges(result[0], table_data)
    pmt_utils.alertsArea(form,"Project member data retrieved successfully")

    listing_url= '/%s-cgi-bin/project_members_admin.pyc?performDbQuery=1' % (db_name)
    help_url='/%s/html/contactsum.html' % db_name
    pmt_utils.editFunctionButtons(form["key_id"].value,listing_url,help_url)
    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')
    
    pageEnd(table_data,db)
コード例 #12
0
def doSave():

    status, table_data, db = pageInit('Save', formJS=0)

    if status != 'success':
        message = "Could not connect to db.\n" + status
        exit(message)

    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)

    if status != 'success':
        exit(details)

    # save the Form
    dbResult = pmt_utils.saveForm(table_data, db, form['key_id'].value,
                                  "project_members",
                                  " WHERE id = '%s'" % form["key_id"].value,
                                  form)

    if dbResult['status'] != 'success':
        message = "Save error.\n" + dbResult['message']
        exit(message)

    table_data = pmt_utils.formToTableData(table_data, 'project_members', form,
                                           form['key_id'].value)

    table_data['project_members']['member_username']['display'] = 'read-only'
    table_data['project_members']['member_role']['display'] = 'read-only'
    table_data['project_members']['member_password']['display'] = 'Hidden'

    pmt_utils.display_form(table_data, 'project_members', 1, 'useValues', 1,
                           db)

    pmt_utils.alertsArea(form, "Member data successfully saved")

    # generate function button row
    listing_url = '/%s-cgi-bin/contact_list.pyc?performDbQuery=1' % db_name
    help_url = '/%s/html/contactsum.html' % (db_name)
    editFunctionButtons(form["key_id"].value, listing_url, help_url)

    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')

    pageEnd(table_data, db)
コード例 #13
0
ファイル: cvsweb.py プロジェクト: scottlinuxden/pmt
def displayLogin(form,alert=None):
	print "<HTML>"
	print "<HEAD>"
	pmt_utils.javaScript("cvsweb")
	pmt_utils.title("Development Library")
	print "</HEAD>"
	pmt_utils.bodySetup()
	pmt_utils.mainHeading('Development Library')
	pmt_utils.subHeading('Login')
	pmt_utils.formSetup("cvsweb",
			    db_name,
			    "cvsweb",
			    "return submitForm(document.cvsweb)")
	pmt_utils.usernamePasswordDisplay()
	if alert!=None:
		pmt_utils.alertsArea(form, alert)
	print "<hr><INPUT TYPE='submit' NAME='submit' value='Submit' >"
コード例 #14
0
def displayLogin(alert=None):
    print "<HTML>"
    print "<HEAD>"
    pmt_utils.javaScript("upload")
    pmt_utils.title("Upload")
    print "</HEAD>"
    pmt_utils.bodySetup()
    pmt_utils.mainHeading('Upload')
    pmt_utils.subHeading('Login')
    pmt_utils.formSetup("upload",declarations.pmt_info['db_name'],
    		    "upload","return submitForm(document.upload)")
    pmt_utils.usernamePasswordDisplay()
    if alert!=None:
        pmt_utils.alertsArea(form,alert)
    print "<hr><INPUT TYPE='submit' NAME='submit' value='Submit' >"
    if form.has_key('dest'):
        print '<INPUT TYPE=hidden NAME=dest value="%s">' % form['dest'].value
コード例 #15
0
def doEdit():
    status, table_data, db = pageInit('Edit', formJS=0)

    if status != 'success':
        message = "Could not connect to db.\n%s" % status
        exit(message)

    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)

    if status != 'success':
        exit(details)

    sqlStatement = pmt_utils.selectAllColumnsSqlStatement(
        table_data, 'project_members', form["key_id"].value)
    dbResult = pmt_utils.executeSQL(db, sqlStatement)

    if dbResult['status'] != 'success':
        message = "Unable to get member data from db.\n" + dbResult['message']
        exit(message)

    result = dbResult['result']

    table_data = pmt_utils.dbToTableData(table_data, 'project_members',
                                         result[0])

    table_data['project_members']['member_username']['display'] = 'read-only'
    table_data['project_members']['member_password']['display'] = 'Hidden'
    table_data['project_members']['member_role']['display'] = 'read-only'

    pmt_utils.display_form(table_data, 'project_members', 1, 'useValues', 1,
                           db)
    pmt_utils.alertsArea(form, "Member data retrieved successfully")

    listing_url = '/%s-cgi-bin/contact_list.pyc?performDbQuery=1' % db_name
    help_url = '/%s/html/contactsum.html' % (db_name)
    editFunctionButtons(form['key_id'].value, listing_url, help_url)

    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')

    pageEnd(table_data, db)
コード例 #16
0
ファイル: spr_admin.py プロジェクト: scottlinuxden/pmt
def doCreate():
    status,table_data,db=pageInit('Create',formJS=1)
    if status != 'success':
        message="Could not connect to db,\n" + dbResult['message']
        exit(message)
    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)

    if status != 'success':
        exit(details)

    display_questionnaire(db,table_data, 'edit')
    message="Enter information on form and depress Create button"
    pmt_utils.alertsArea(form,message)

    listing_url='/%s-cgi-bin/spr_admin.pyc?performDbQuery=1' % (db_name)
    help_url='/%s/html/spr_intro.html' % db_name
    pmt_utils.createFunctionButtons('create',listing_url,help_url)

    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')
    
    pmt_utils.textbox(None, 'analyst_signature',
                      table_data['spr']['analyst_signature']['value'],
                      '40', '40', None, None, 'hidden')
    pmt_utils.textbox(None, 'swm_analysis_signature',
                      table_data['spr']['swm_analysis_signature']['value'],
                      '40', '40', None, None, 'hidden')
    pmt_utils.textbox(None, 'swm_completion_signature',
                      table_data['spr']['swm_completion_signature']['value'],
                      '40', '40', None, None, 'hidden')
    pmt_utils.textbox(None, 'test_completion_signature',
                      table_data['spr']['test_completion_signature']['value'],
                      '40', '40', None, None, 'hidden')
    pmt_utils.textbox(None, 'cm_completion_signature',
                      table_data['spr']['cm_completion_signature']['value'],
                      '40', '40', None, None, 'hidden')
    pmt_utils.textbox(None, 'qa_completion_signature',
                      table_data['spr']['qa_completion_signature']['value'],
                      '40', '40', None, None, 'hidden')
    pageEnd(table_data,db)
コード例 #17
0
def exit(message,table_data=None,db=None):
    pmt_utils.usernamePasswordDisplay(username)
    pmt_utils.alertsArea(form, message);

    if username!=None and db!=None:
        create_priv=pmt_utils.hasPriv(db,username,'user_admin')
    else:
        create_priv=0

    url='/%s/html/contactsum.html' % db_name
    pmt_utils.queryFunctionButtons(create_priv, url)

    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')
    
    if table_data!=None and db!=None:
        pageEnd(table_data,db)
    sys.exit()
コード例 #18
0
def exit(message, table_data=None, db=None, login_display=1):
    if login_display:
        pmt_utils.usernamePasswordDisplay()
    pmt_utils.alertsArea(form, message)

    if username != None and db != None:
        create_priv = pmt_utils.hasPriv(db, username, 'create_ecp')
    else:
        create_priv = 0

    queryFunctionButtons(create_priv, 0, '/%s/html/ecpsum.html' % db_name)

    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')

    if table_data != None and db != None:
        pageEnd(table_data, db)
    sys.exit()
コード例 #19
0
def displayLogin(form, alert=None):
    print "<HTML>"
    print "<HEAD>"
    pmt_utils.javaScript("list_docs")
    pmt_utils.title("Data Item Listing")
    print "</HEAD>"
    pmt_utils.bodySetup()
    pmt_utils.mainHeading('Data Item Listing')
    pmt_utils.subHeading('Login')
    java = "return submitForm(document.list_docs)"
    pmt_utils.formSetup("list_docs", db_name, "list_docs", java)
    pmt_utils.usernamePasswordDisplay()
    if alert != None:
        pmt_utils.alertsArea(form, alert)
    print "<hr><INPUT TYPE='submit' NAME='submit' value='Submit' >"
    if form.has_key('directory'):
        if string.find(form['directory'].value, '..') >= 0:
            sys.exit()
        print "<INPUT TYPE='hidden' NAME='directory' "
        print "value='%s'>" % form['directory'].value
コード例 #20
0
ファイル: login.py プロジェクト: scottlinuxden/pmt
def validUserPass(username, password):
    dbResult = pmt_utils.connectDB(declarations.pmt_info['browser_username'],
                                   declarations.pmt_info['browser_password'],
                                   declarations.pmt_info['db_name'])

    # could not connect to db
    if dbResult['status'] != 'success':
        pmt_utils.htmlContentType()
        print '<html>'
        pmt_utils.alertsArea(form, "Can not connect to database")
        sys.exit(1)
    else:
        db = dbResult['result']

    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)

    return status
コード例 #21
0
ファイル: web_cvs_export.py プロジェクト: scottlinuxden/pmt
def exit(message, table_data=None, display_login=1):

    if display_login:
        pmt_utils.usernamePasswordDisplay(username)
    pmt_utils.alertsArea(form, message)

    #if username!=None and db!=None:
    #    create_priv=pmt_utils.hasPriv(db,username,'create_spr')
    #else:
    #    create_priv=0

    #url='/%s/html/sprsum.html' % db_name
    #pmt_utils.queryFunctionButtons(create_priv, url)

    textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')

    if table_data != None and db != None:
        pageEnd(table_data, db)
    sys.exit()
コード例 #22
0
def doCreate():
    status,table_data,db=pageInit('Create',formJS=1)
    if status != 'success':
        message="Could not connect to db.\n%s" % status
        exit(message)
 
    pmt_utils.display_form(table_data, 'project_members', 1,'useValues',1,db)
    displayPriviledges({}, table_data)

    message="Enter information on form and depress Create button"
    pmt_utils.alertsArea(form,message)

    # Add buttons and hidden fields
    listing_url='/%s-cgi-bin/project_members_admin.pyc?performDbQuery=1' % (db_name) 
    help_url='/%s/html/contactsum.html' % db_name
    pmt_utils.createFunctionButtons('create',listing_url, help_url)
    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')
    
    pageEnd(table_data,db)
コード例 #23
0
def doEdit():

    status, table_data, db = pageInit('Edit', formJS=1)

    if status != 'success':
        message = "Could not connect to the database.\n" + status
        exit(message)

    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)
    if status != 'success':
        exit(details)

    sqlStatement = pmt_utils.selectAllColumnsSqlStatement(
        table_data, 'pai', form["key_id"].value)
    dbResult = pmt_utils.executeSQL(db, sqlStatement)

    if dbResult['status'] != 'success':
        message = "Could not retrieve action item to edit.\n" + dbResult[
            'message']
        exit(message)

    result = dbResult['result']
    table_data = pmt_utils.dbToTableData(table_data, 'pai', result[0])
    pmt_utils.display_form(table_data, 'pai', 1, 'useValues', 1, db)

    pmt_utils.alertsArea(form, "Action item data retrieved successfully")

    listing_url = '/%s-cgi-bin/pai_admin.pyc?performDbQuery=1' % (db_name)
    help_url = '/%s/html/pai_intro.html' % (db_name)
    del_priv = pmt_utils.hasPriv(db, username, 'del_pai')
    editFunctionButtons(form["key_id"].value, listing_url, help_url, del_priv)

    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')

    pageEnd(table_data, db)
コード例 #24
0
ファイル: options.py プロジェクト: scottlinuxden/pmt
def verifyUserPass(db):

    status, details = db_authentication.password_valid(db,
						      crypt_salt=db_name,
						      username=username,
						      password=password)
    if status != 'success':
        print "<form method=post>"
        pmt_utils.usernamePasswordDisplay()
        pmt_utils.alertsArea(form, details)
        print "<hr><INPUT TYPE='submit' NAME='submit' value='Submit' >"
        print "</form>"
        sys.exit(1)

    if pmt_utils.hasPriv(db, username, 'project_data')!=1:
        print "<form method=post>"
        pmt_utils.usernamePasswordDisplay()
	message='User %s does not have access to view Data Items' % username
        pmt_utils.alertsArea(form, message)
        print "<hr><INPUT TYPE='submit' NAME='submit' value='Submit' >"
        print "</form>"
        sys.exit(1)
コード例 #25
0
def doCreate():

    status, table_data, db = pageInit('Create', formJS=1)

    if status != 'success':
        message = "Could not connect to db.\n%s" % status
        exit(message)

    # initialize form data values to zero or blank
    table_data = pmt_utils.init_table_data(table_data, 'pai')
    now = time_pkg.current_time_MM_DD_YYYY()
    table_data['pai']['date_created']['value'] = now

    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)
    if status != 'success':
        exit(details)

    table_data['pai']['id']['display'] = 'hidden'

    pmt_utils.display_form(table_data, 'pai', 1, 'useValues', 1, db)

    message = "Enter information on form and depress Create button"
    pmt_utils.alertsArea(form, message)

    # create functions button row
    listing_url = '/%s-cgi-bin/pai_admin.pyc?performDbQuery=1' % (db_name)
    help_url = '/%s/html/pai_intro.html' % (db_name)
    pmt_utils.createFunctionButtons('create', listing_url, help_url)
    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')

    pageEnd(table_data, db)
コード例 #26
0
ファイル: options.py プロジェクト: scottlinuxden/pmt
print "<HEAD>"
pmt_utils.title("Edit Project Options")
print "</HEAD>"
pmt_utils.bodySetup()
pmt_utils.mainHeading("Project Option Manager")
pmt_utils.subHeading("Add/Delete Options")

if username!=None:

    dbResult=pmt_utils.connectDB(declarations.pmt_info['browser_username'],
				     declarations.pmt_info['browser_password'],
				     declarations.pmt_info['db_name'])

    if dbResult['status'] != 'success':
        message="Can not connect to database,\n" + dbResult['message']
        pmt_utils.alertsArea(form,message)
        sys.exit()

    db=dbResult['result']

    verifyUserPass(db)

    message=''
    if form.has_key('add'):
        message=addOption(db)

    if form.has_key('delete'):
        message=deleteOption(db)


    print '<FORM METHOD=POST ACTION=/%s-cgi-bin/options.pyc>' % db_name
コード例 #27
0
ファイル: optionsBar.py プロジェクト: scottlinuxden/pmt
print "<TABLE CELLPADDING=1 CELLSPACING=0></TABLE>"

print '<center>'
print '<A HREF="/%s/html/siteInfo.html" target="siteInfo">' % db
print '<img src="/%s/icons/%s.jpg" width=125></A></center>' % (db, db)
print '<center>'

username, password = pmt_utils.getUserPass(None)
if username != None and password != None:

    dbResult = pmt_utils.connectDB(declarations.pmt_info['browser_username'],
                                   declarations.pmt_info['browser_password'],
                                   declarations.pmt_info['db_name'])

    if dbResult['status'] != 'success':
        pmt_utils.alertsArea(None, dbResult['message'])
        sys.exit()
    else:
        DB = dbResult['result']

    print '<img src=/%s/icons/top.gif        usemap="#top" border=0><br>' % db

    #print db
    if db == "usafsr":
        form = pmt_utils.getFormData()
        #print form
        if form.has_key('public'):
            print '<img src=/%s/icons/downloads.gif usemap="#file_exchange" border=0><br>' % db
            simpleAdmin()
            print '<img src=/%s/icons/logout.gif        usemap="#logout" border=0><br>' % db
            print '<map name=file_exchange>'
コード例 #28
0
def display_form(display_files=0,alerts=None):
    print "<HTML>"
    print "<HEAD>"
    pmt_utils.javaScript("doc_maintenance")
    pmt_utils.title("Documentation Maintenance")
    print "</HEAD>"
    pmt_utils.bodySetup()
    pmt_utils.mainHeading('Documentation Maintenance')
    pmt_utils.subHeading('Create and Delete Folders/Files')
    pmt_utils.formSetup("doc_maintenance",db_name,"doc_maintenance",None)

    dbResult=pmt_utils.connectDB(declarations.pmt_info['browser_username'],
                                 declarations.pmt_info['browser_password'],
                                 declarations.pmt_info['db_name'])
    if dbResult['status']!='success':
        exit(dbResult['message'])

    db=dbResult['result']
    status,details = db_authentication.password_valid(db,
                                                      crypt_salt=db_name,
                                                      username=username,
                                                      password=password)
    if status!='success':
        exit(details)

    if not pmt_utils.hasPriv(db,username,'folder_admin'):
        msg="User %s does not have folder maintenance priviledges" % username
        exit(msg)
        
    print '<hr><br><CENTER><B>Delete Folders/Files</B></CENTER>'
    stripped_db=string.lower(string.strip(db_name))
    os.chdir(os.path.join('/home',stripped_db,'documents'))

    file_list = os_utils.walk_list_files(
        directory_name='.',
        list_only_files=0,
        exclude_list = [],
        include_file_type=1)

    if len(file_list) > 25:
        list_size = 25
    else:
        list_size = len(file_list)

    print '<BLINK><B>WARNING:</B></BLINK><br>'
    print 'Any folders or files that you select for deletion are '
    print 'permanently deleted.  You should have a local backup of '
    print 'any folders/files you delete in case you really did not mean '
    print 'to delete.  Backups are crucial.  You have been warned.'
    print '<p>Selecting a folder will delete the folder and all files '
    print 'under it including sub folders.  '
    print 'Select folder names with caution.'
    print '<p>Your deletes will not be confirmed.  '
    print 'When you press [Delete Folders/Files] your files are deleted.'

    print '<BR><CENTER><B>Select folders/files to delete</B>:<BR>'
    print '<SELECT NAME="files_to_remove" SIZE="8" MULTIPLE>'
    for curfile in file_list:
        print '<OPTION>%s' % (curfile)
    print "</SELECT><br>"
    java_call="return execute('delete_folder','1')"
    print '<input name="delete_folder" type="button" '
    print 'value=" Delete Folders/Files " onClick="%s">' % java_call
    print '<input name ="website_name_hidden" '
    print 'type="hidden" value="%s">' % (db_name)
    print "<hr><BR><BR>"

    print '<CENTER><B>Create Folder</B></CENTER><BR>'
    print '<B>Folder Name</B>:&nbsp;'
    print '<input name="folder" type="text" size="50" maxlength="100"><BR>'
    java_call="return execute('create','1')"
    print '<input name="create" type="button" '
    print 'value=" Create Folder " onClick="%s">' % java_call
    print '<input name ="website_name_hidden" '
    print 'type="hidden" value="%s"><hr>' % (db_name)

    if alerts != None:
        pmt_utils.alertsArea(form,alerts)

    print '</CENTER>'

    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'key_id', '1', '10', '10', None, None,'hidden')

    print '</form>'
    print '<p align="right">'
    print '<A HREF="mailto:[email protected]">Contact Support Team</a>'
    print "</body></html>"
コード例 #29
0
username, password = pmt_utils.getUserPass(form)

if username == None:
    displayLogin(form)

else:
    pageSetup()

    db = pmt_utils.connectDB(declarations.pmt_info['browser_username'],
                             declarations.pmt_info['browser_password'],
                             declarations.pmt_info['db_name'])

    # could not connect to db
    if db['status'] != 'success':
        message = "Can not connect to database,\n" + db['message']
        pmt_utils.alertsArea(form, )
        sys.exit(1)

    verifyUserPass(db['result'])

    edit_priv = pmt_utils.hasPriv(db['result'], username, 'edit_details')
    del_priv = pmt_utils.hasPriv(db['result'], username, 'del_docs')
    up_priv = pmt_utils.hasPriv(db['result'], username, 'upload')
    private_priv = pmt_utils.hasPriv(db['result'], username, 'private_data')
    admin_priv = pmt_utils.hasPriv(db['result'], username, 'folder_admin')
    writeTable(form, username, edit_priv, del_priv, up_priv, private_priv,
               admin_priv)

print '</BODY>'
print '</HTML>'
#------------------------------------------------------------------------------
コード例 #30
0
ファイル: inv_admin.py プロジェクト: scottlinuxden/pmt
def doSave():
    saveDueToCreate = 0

    status, table_data, db = pageInit('Edit', formJS=1)

    if status != 'success':
        message = "Could not connect to db.\n%" % status
        exit(message)

    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)

    if status != 'success':
        exit(details)

    if form["key_id"].value == 'create':
        saveDueToCreate = 1
        queryResult = pmt_utils.executeSQL(
            db, "SELECT NEXTVAL('inventory_id_seq')")

        form["key_id"].value = ` queryResult['result'][0]['nextval'] `

    table_data = pmt_utils.formToTableData(table_data, 'inventory', form,
                                           form['key_id'].value)
    alerts = ''

    data = pmt_utils.process_signature(
        db, form['prop_id_assigned_by_username'].value,
        form['prop_id_assigned_by_password'].value, 'Property ID Authority',
        form['prop_id_assigned_by_signature'].value,
        form['prop_id_assigned_by_sig_func'].value)
    (status, details,
     table_data['inventory']['prop_id_assigned_by_username']['value'],
     table_data['inventory']['prop_id_assigned_by_password']['value'],
     table_data['inventory']['prop_id_assigned_by_signature']['value'],
     table_data['inventory']['prop_id_assigned_by_sig_func']['value']) = data

    dbResult = pmt_utils.saveForm(table_data, db, form['key_id'].value,
                                  "inventory",
                                  " WHERE id = '%s'" % form["key_id"].value,
                                  form, 0, 0)

    if dbResult['status'] != 'success':
        message = "Item could not be saved.\n" + dbResult['message']
        exit(message)

    if saveDueToCreate:
        subject = 'New INV #%s has been generated' % form['key_id'].value
    # message='INV #%s has been generated.\n\n' % form["key_id"].value
    # message=message+'Assigned to: %s\n\n' % form['assigned_to'].value
    # message=message+'Problem Description is as follows:\n'
    # message=message+form['problem_description'].value+'\n\n'
    # message=message+'Log into the Inventory tracking tool at '
    # message=message+'http://www.isrparc.org for further info.'
    # message=message+'If you do not wish to be on this mailing list '
    # message=message+'please send an email requesting removal to '
    # message=message+'[email protected].\n'
    # pmt_utils.emailList(db,'localhost', 'inv_list', subject, message)

    display_questionnaire(db, table_data, 'edit')

    alerts = alerts + '\nItem saved successfully'
    pmt_utils.alertsArea(form, alerts)

    listing_url = '/%s-cgi-bin/inv_admin.pyc?performDbQuery=1' % (db_name)
    help_url = '/%s/html/sprsum.html' % db_name

    # This will return to po_admin.py or inv_admin.py in Edit mode.
    if form.has_key("return_to_po"):
        data = '?action=edit&key_id=%s' % table_data['inventory']['po_id'][
            'value']
        java = "return goto_url('/%s-cgi-bin/po_admin.pyc%s')" % (db_name,
                                                                  data)
        html = '<INPUT NAME="edit" type="button" value=" Return to PO '
        html = html + '" onClick="%s">' % java
        print '<BR><BR>'
        print html

    editFunctionButtons(form["key_id"].value, listing_url, help_url)

    po_id = table_data['inventory']['po_id']['value']
    print '<input type=hidden name=po_id value="%s">' % po_id

    val = table_data['inventory']['prop_id_assigned_by_signature']['value']
    pmt_utils.textbox(None, 'prop_id_assigned_by_signature', val, '40', '40',
                      None, None, 'hidden')
    pmt_utils.textbox(None, 'key_id', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'action', '', '10', '10', None, None, 'hidden')
    pmt_utils.textbox(None, 'item_no', '', '8', '8', None, None, 'hidden')

    pageEnd(table_data, db)