Example #1
0
def doView():
    status, table_data, db = pageInit('View', formJS=1)

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

    # Get user data from db
    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)

    # Display user data
    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_role']['display'] = 'read-only'
    table_data['project_members']['member_password']['display'] = 'Hidden'
    pmt_utils.display_form(table_data, 'project_members', editable=0)

    # Add buttons, and company info
    url = '/%s-cgi-bin/contact_list.pyc?performDbQuery=1' % db_name
    pmt_utils.viewFunctionButtons(url, '/%s/html/contactsum.html' % (db_name))
    pageEnd(table_data, db)
Example #2
0
def doView():

    status, table_data, db = pageInit("View", 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)

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

    if dbResult['status'] != 'success':
        message = "Unable to get action item.\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', 0)

    listing_url = '/%s-cgi-bin/pai_admin.pyc?performDbQuery=1' % (db_name)
    help_url = '/%s/html/paisum.html' % (db_name)
    emailButton(username, form['key_id'].value, listing_url, help_url)
    pageEnd(table_data, db)
Example #3
0
def doView():

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

    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 project member data.\n%s" % dbResult['message']
        exit(message,table_data,db)

    # Display user data
    result = dbResult['result']
    table_data=pmt_utils.dbToTableData(table_data,'project_members',result[0])
    pmt_utils.display_form(table_data, 'project_members', 0)

    # 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.viewFunctionButtons(listing_url, help_url)
    pageEnd(table_data,db)
Example #4
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)
Example #5
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)
Example #6
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)
Example #7
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)
Example #8
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)
Example #9
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)
Example #10
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)
Example #11
0
def doSave():
    
    status,table_data,db=pageInit('Save',formJS=1)

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

    create='false'
    if form["key_id"].value == 'create':
        create='true'

        # check for duplicate username
        sql="select id from project_members "
        sql=sql+"where member_username='******'" % form['member_username'].value
        dupResult=pmt_utils.executeSQL(db,sql)
        if len(dupResult['result'])!=0:
            msg="The specified username '%s' "% form['member_username'].value
            msg=msg+'is already in use.' 
            exit(msg)

        # update the member id
        sql="SELECT NEXTVAL('project_members_id_seq')"
        queryResult = pmt_utils.executeSQL(db, sql)
        if queryResult['status']!='success':
            message="Unable to retrieve project member id"
            exit(message,table_data,db)
            
        form["key_id"].value = `queryResult['result'][0]['nextval']`
        form['id'].value=form['key_id'].value

    # save member data to project_members table in db
    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="Project member could not be saved.\n" + dbResult['message']
        exit(message,table_data,db)

    # save privileges to privileges table in db
    whereStr=" WHERE member_username='******'" % form["member_username"].value
    dbResult = pmt_utils.saveForm(table_data, db,
                                  form['member_username'].value,
                                  "priviledges",
                                  whereStr,
                                  form)
    if dbResult['status'] != 'success':
        message="Unable to save member privileges.\n%s" % dbResult['message']
        exit(message,table_data,db)

    # Display the user information
    table_data = pmt_utils.formToTableData(table_data,
                                           'project_members',
                                           form, form['key_id'].value)  
    pmt_utils.display_form(table_data,'project_members',1,'useValues',1,db)

    # Display the user's privileges
    sql = "select * from priviledges "
    sql=sql+"where member_username='******'" % (form['member_username'].value)
    dbResult = pmt_utils.executeSQL(db, sql)
    if dbResult['status'] != 'success':
        message="Could not get member privileges.\n%s" % dbResult['message']
        exit(message)
    result = dbResult['result']
    table_data = pmt_utils.dbToTableData(table_data, 'priviledges', result[0])
    displayPriviledges(result[0], table_data)
    pmt_utils.alertsArea(form,"Project member successfully saved")
    
#    if create=='true':
    # Add the username and password to the .passwd file or htaccess
    command='/usr/bin/htpasswd -b '
    command=command+'/var/www/admin/%s.passwd ' % db_name
    #NOTE : Use the form data here since an admin's cookie is logged in
    command=command+'%s ' % form['member_username'].value
    command=command+'%s' % form['member_password'].value
    status, output = commands.getstatusoutput(command)

    if create=='true':
        # Send an email to the new user
        db_label=string.upper(db_name)
        if db_label=='SAVE':
            db_label="IFCS"
        if db_label=="BUAV":
            db_label="FCST"
        if db_label=="CUAV":
            db_label="PADV"
        msg="A new user account has been created for you "
        msg=msg+"on the %s site at www.isrparc.org.\n\n"%string.upper(db_label)
        #NOTE : Use the form data here since an admin's cookie is logged in
        msg=msg+"Username: %s\n" % form['member_username'].value
        msg=msg+"Password: %s" % form['member_password'].value
        pmt_utils.send_email('localhost',
                             '*****@*****.**',
                             [form['email'].value],
                             "New User Account",
                             msg)

    # 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.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)	
Example #12
0
def edit_project_info(performDbQuery=0, onLoad=None, queryFields=None):

    table_data = declarations.define_tables()
    print "<HTML>"
    print "<HEAD>"
    pmt_utils.javaScript("project_admin")
    pmt_utils.title("Project Administration")
    print "</HEAD>"

    pmt_utils.bodySetup(onLoad)
    pmt_utils.mainHeading('Project Administration')
    pmt_utils.subHeading('Project Info')
    pmt_utils.formSetup("project_admin", db_name, "project_admin",
                        "return submitForm(document.project_admin)")

    if username == None:
        pmt_utils.usernamePasswordDisplay()
        project_adminButtons(button_name='edit')
        pmt_utils.textbox(None, 'key_id', '1', '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')
        print "</FORM>"
        try:
            pmt_utils.trailer(table_data, db)
            db.close()
        except NameError:
            pass
        print "</BODY>"
        print "</HTML>"
        return

    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.alertsArea(
            form, "Can not connect to database,\n" + dbResult['message'])
        project_adminButtons()
        print "</FORM>"
        try:
            pmt_utils.trailer(table_data, db)
            db.close()
        except NameError:
            pass
        print "</BODY>"
        print "</HTML>"
        return

    db = dbResult['result']
    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)

    if status != 'success':
        print '<form method=post action=/%s-cgi-bin/project_admin.pyc>' % db_name
        pmt_utils.usernamePasswordDisplay(username)
        pmt_utils.alertsArea(form, 'Can not verify you as a valid user')
        print '<hr><input name=reload type=submit value="Query">'
        print '<input name=action value=edit type=hidden>'
        print '</form>'
        sys.exit()

    if pmt_utils.hasPriv(db, username, 'project_data') != 1:
        print '<form method=post action=/%s-cgi-bin/project_admin.pyc>' % db_name
        pmt_utils.usernamePasswordDisplay(username)
        msg = 'User %s does not have project admin privileges>' % username
        pmt_utils.alertsArea(form, msg)
        print '<hr><input name=reload type=submit value="Query">'
        print '<input name=action value=edit type=hidden>'
        print '</form>'
        sys.exit()

    if form.has_key('key_id'):
        key_id = form['key_id'].value
    else:
        key_id = '1'
    sqlStatement = pmt_utils.selectAllColumnsSqlStatement(
        table_data, 'project_info', key_id)
    dbResult = pmt_utils.executeSQL(db, sqlStatement)
    if dbResult['status'] != 'success':
        msg = "Could not retrieve project information\n" + dbResult['message']
        pmt_utils.alertsArea(form, msg)
    else:
        result = dbResult['result']
        table_data = pmt_utils.dbToTableData(table_data, 'project_info',
                                             result[0])
        table_data['project_info']['id']['value'] = '1'
        pmt_utils.display_form(table_data, 'project_info', 1, 'useValues', 1,
                               db)
        pmt_utils.alertsArea(form,
                             "Project Information retrieved successfully")

    project_adminButtons(button_name='save')
    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')

    print "</FORM>"
    try:
        pmt_utils.trailer(table_data, db)
        db.close()
    except NameError:
        pass

    print "</BODY>"
    print "</HTML>"
Example #13
0
def doEdit():
    table_data = declarations.define_tables()
    print "<HTML>"
    print "<HEAD>"
    pmt_utils.generate_form_javascript(table_data, 'project_info',
                                       'project_admin', 0)
    pmt_utils.title("Project Info Administration")
    print "</HEAD>"

    pmt_utils.bodySetup()
    pmt_utils.mainHeading('Project Info Administration')
    pmt_utils.subHeading('Edit Project Info')
    pmt_utils.formSetup("project_admin", db_name, "project_admin",
                        "return submitForm(document.project_admin)")

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

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

    db = dbResult['result']
    status, details = db_authentication.password_valid(db,
                                                       crypt_salt=db_name,
                                                       username=username,
                                                       password=password)
    if status != 'success':
        print '<form method=post action=/%s-cgi-bin/project_admin.pyc>' % db_name
        pmt_utils.usernamePasswordDisplay(username)
        pmt_utils.alertsArea(form, 'Can not verify you as a valid user')
        print '<hr><input name=reload type=submit value="Query">'
        print '<input name=action value=edit type=hidden>'
        print '</form>'
        sys.exit()

    if pmt_utils.hasPriv(db, username, 'project_data') != 1:
        print '<form method=post action=/%s-cgi-bin/project_admin.pyc>' % db_name
        pmt_utils.usernamePasswordDisplay(username)
        msg = 'User %s does not have project admin privileges' % username
        pmt_utils.alertsArea(form, msg)
        print '<hr><input name=reload type=submit value="Query">'
        print '<input name=action value=edit type=hidden>'
        print '</form>'
        sys.exit()

    sqlStatement = pmt_utils.selectAllColumnsSqlStatement(
        table_data, 'project_info', '1')
    dbResult = pmt_utils.executeSQL(db, sqlStatement)

    if dbResult['status'] != 'success':
        msg = "Could not retrieve project info to edit\n"
        pmt_utils.alertsArea(form, msg + dbResult['message'])
    else:
        result = dbResult['result']
        table_data = pmt_utils.dbToTableData(table_data, 'project_info',
                                             result[0])
        table_data['project_info']['id']['value'] = '1'
        pmt_utils.display_form(table_data, 'project_info', 1, 'useValues', 1,
                               db)
        pmt_utils.alertsArea(form, "Project Info retrieved successfully")

    project_adminButtons('save')
    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')
    print "</FORM>"
    pmt_utils.trailer(table_data, db)
    db.close()
    print "</BODY>"
    print "</HTML>"
Example #14
0
def doSave():
    table_data = declarations.define_tables()

    print "<HTML>"
    print "<HEAD>"

    pmt_utils.generate_form_javascript(table_data, 'project_info',
                                       'project_admin', 0)
    pmt_utils.title("Project Info Administration")

    print "</HEAD>"

    pmt_utils.bodySetup()
    pmt_utils.mainHeading('Project Info Administration')
    pmt_utils.subHeading('Edit Project Info')
    pmt_utils.formSetup("project_admin", db_name, "project_admin",
                        "return submitForm(document.project_admin)")

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

    if dbResult['status'] != 'success':
        msg = "Project Info could not be saved, could not connect to db\n"
        pmt_utils.alertsArea(form, msg + dbResult['message'])
        # generate function button row
        project_adminButtons('save')

        # 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')
        print "</FORM>"
        pmt_utils.trailer(table_data, db)
        db.close()
        print "</BODY>"
        print "</HTML>"
        return

    db = dbResult['result']

    # save the Form
    dbResult = pmt_utils.saveForm(table_data, db, None, "project_info",
                                  " WHERE id = '1'", form)

    # if the form was not successfully saved
    if dbResult['status'] != 'success':
        msg = "Project Info could not be saved due to an error during save,\n"
        pmt_utils.alertsArea(form, msg + dbResult['message'])
    else:
        table_data = declarations.define_tables()
        table_data = pmt_utils.formToTableData(table_data, 'project_info',
                                               form)
        table_data['project_info']['id']['value'] = '1'
        pmt_utils.display_form(table_data, 'project_info', 1, 'useValues', 1,
                               db)
        pmt_utils.alertsArea(form, "Project Info successfully saved")

    # generate function button row
    project_adminButtons('save')

    # 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')
    print "</FORM>"
    pmt_utils.trailer(table_data, db)
    db.close()
    print "</BODY>"
    print "</HTML>"