示例#1
0
def edit_handler( req, issue, options ):                # `issue' is a misnomer
   db = ibis.IBISDatabase( MAIN_SERVER )
   info = db.issue_info( issue )
   subtitle = []
   issue_owner = info[1]
   issue_disp = info[2]
   issue_title = db.unescape( info[3] )
   issue_desc = db.unescape( info[4] )
   subtitle.append( issue_title )
   req.write( preamble( title = "Issue %s" % issue,
                        subtitle = subtitle ) )
   dir = os.path.split( req.filename )[0]
   form = open( os.path.join( dir, "editform.html" ) ).read()
   fillin = { 'issue': issue,
              'title': html_escape( issue_title ),
              'desc': html_escape( issue_desc ),
              'owner': issue_owner,
              'is_undecided': '',
              'is_taken': '',
              'is_declined': '',
              'is_future': '',
              'disp': issue_disp,
              'title_hash': longhash( issue_title ),
              'desc_hash': longhash( issue_desc ) }

   if issue_disp:
      fillin['is_' + issue_disp] = 'SELECTED '
   else:
      fillin['is_undecided'] = 'SELECTED '
   
   req.write( form % fillin )
示例#2
0
def edit_handler(req, issue, options):  # `issue' is a misnomer
    db = ibis.IBISDatabase(MAIN_SERVER)
    info = db.issue_info(issue)
    subtitle = []
    issue_owner = info[1]
    issue_disp = info[2]
    issue_title = db.unescape(info[3])
    issue_desc = db.unescape(info[4])
    subtitle.append(issue_title)
    req.write(preamble(title="Issue %s" % issue, subtitle=subtitle))
    dir = os.path.split(req.filename)[0]
    form = open(os.path.join(dir, "editform.html")).read()
    fillin = {
        'issue': issue,
        'title': html_escape(issue_title),
        'desc': html_escape(issue_desc),
        'owner': issue_owner,
        'is_undecided': '',
        'is_taken': '',
        'is_declined': '',
        'is_future': '',
        'disp': issue_disp,
        'title_hash': longhash(issue_title),
        'desc_hash': longhash(issue_desc)
    }

    if issue_disp:
        fillin['is_' + issue_disp] = 'SELECTED '
    else:
        fillin['is_undecided'] = 'SELECTED '

    req.write(form % fillin)
示例#3
0
def post_handler( req, issue, options ):
   db = ibis.IBISDatabase( MAIN_SERVER )
   fs = util.FieldStorage( req, 1 )
   #
   req.write( preamble( title = "Issue %s" % issue,
                        subtitle = [] ) )
   req.write( '<pre>\n' )
   req.write( '  disp = [%s]\n' % fs['disp'] )
   req.write( '  disp_orig = [%s]\n' % fs['disp_orig'] )
   nt = stripcr( fs['title'] )
   req.write( '  new title      = [%s]\n' % html_escape(nt) )
   req.write( '  new title hash = [%s]\n' % longhash(nt) )
   req.write( '  old title hash = [%s]\n' % fs['title_hash'] )
   req.write( '</pre>\n' )

   req.write( 'Processing actions:<br>\n' )
   req.write( '<hr>\n' )
   d = fs['disp']
   if d == "undecided":
      d = ""
   if d != fs['disp_orig']:
      req.write( "Set disposition to <b>%s</b>.<br>\n" % d )
      db.mark( issue, 'disposition', d )
   req.write( '<hr>\n' )
   req.write( '<a href="%s?edit=1">[Back to Edit]</a>&nbsp;&nbsp;' % issue )
   req.write( '<a href="%s">[View]</a><br>' % issue )
示例#4
0
def post_handler(req, issue, options):
    db = ibis.IBISDatabase(MAIN_SERVER)
    fs = util.FieldStorage(req, 1)
    #
    req.write(preamble(title="Issue %s" % issue, subtitle=[]))
    req.write('<pre>\n')
    req.write('  disp = [%s]\n' % fs['disp'])
    req.write('  disp_orig = [%s]\n' % fs['disp_orig'])
    nt = stripcr(fs['title'])
    req.write('  new title      = [%s]\n' % html_escape(nt))
    req.write('  new title hash = [%s]\n' % longhash(nt))
    req.write('  old title hash = [%s]\n' % fs['title_hash'])
    req.write('</pre>\n')

    req.write('Processing actions:<br>\n')
    req.write('<hr>\n')
    d = fs['disp']
    if d == "undecided":
        d = ""
    if d != fs['disp_orig']:
        req.write("Set disposition to <b>%s</b>.<br>\n" % d)
        db.mark(issue, 'disposition', d)
    req.write('<hr>\n')
    req.write('<a href="%s?edit=1">[Back to Edit]</a>&nbsp;&nbsp;' % issue)
    req.write('<a href="%s">[View]</a><br>' % issue)
示例#5
0
def edit_item( session, req, item, args ):
   if req.method != "POST":
      raise 'Expected POST method'
   fs = util.FieldStorage( req, 1 )

   #import sys
   #fst = fs['title']
   #sys.stderr.write( "title       => %s\n" % `fst` )
   #sys.stderr.write( "H(title)    => %s\n" % longhash(fst) )
   #sys.stderr.write( "H(S(title)) => %s\n" % longhash( stripcr( fst ) ) )
   #sys.stderr.write( "H_saved     => %s\n" % fs['title_hash'] )
   #
   #fst = fs['desc']
   #sys.stderr.write( "title       => %s\n" % `fst` )
   #sys.stderr.write( "H(title)    => %s\n" % longhash(fst) )
   #sys.stderr.write( "H(S(title)) => %s\n" % longhash( stripcr( fst ) ) )
   #sys.stderr.write( "H_saved     => %s\n" % fs['desc_hash'] )

   new_title = None
   new_desc = None
   new_origin = None
   new_domain = None
   new_owner = None
   
   v = stripcr( fs['title'] )
   if longhash( v ) != fs['title_hash']:
      new_title = v

   v = stripcr( fs['desc'] )
   if longhash( v ) != fs['desc_hash']:
      new_desc = v

   if fs['originator'] != fs['originator_orig']:
      new_origin = fs['originator']

   if fs['owner'] != fs['owner_orig']:
      new_owner = fs['owner']

   db = ibis.IBISDatabase( session.server )
   db.edit( item, new_title, new_desc, new_origin, new_owner, new_domain )

   if fs['disp'] != fs['disp_orig']:
      db.mark( item, 'disposition', fs['disp'] )

   return redirect_item( session, req, item, args )
示例#6
0
def edit_item(session, req, item, args):
    if req.method != "POST":
        raise 'Expected POST method'
    fs = util.FieldStorage(req, 1)

    #import sys
    #fst = fs['title']
    #sys.stderr.write( "title       => %s\n" % `fst` )
    #sys.stderr.write( "H(title)    => %s\n" % longhash(fst) )
    #sys.stderr.write( "H(S(title)) => %s\n" % longhash( stripcr( fst ) ) )
    #sys.stderr.write( "H_saved     => %s\n" % fs['title_hash'] )
    #
    #fst = fs['desc']
    #sys.stderr.write( "title       => %s\n" % `fst` )
    #sys.stderr.write( "H(title)    => %s\n" % longhash(fst) )
    #sys.stderr.write( "H(S(title)) => %s\n" % longhash( stripcr( fst ) ) )
    #sys.stderr.write( "H_saved     => %s\n" % fs['desc_hash'] )

    new_title = None
    new_desc = None
    new_origin = None
    new_domain = None
    new_owner = None

    v = stripcr(fs['title'])
    if longhash(v) != fs['title_hash']:
        new_title = v

    v = stripcr(fs['desc'])
    if longhash(v) != fs['desc_hash']:
        new_desc = v

    if fs['originator'] != fs['originator_orig']:
        new_origin = fs['originator']

    if fs['owner'] != fs['owner_orig']:
        new_owner = fs['owner']

    db = ibis.IBISDatabase(session.server)
    db.edit(item, new_title, new_desc, new_origin, new_owner, new_domain)

    if fs['disp'] != fs['disp_orig']:
        db.mark(item, 'disposition', fs['disp'])

    return redirect_item(session, req, item, args)