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 )
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)
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> ' % issue ) req.write( '<a href="%s">[View]</a><br>' % issue )
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> ' % issue) req.write('<a href="%s">[View]</a><br>' % issue)
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 )
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)