can you please email it to me? thank you.
On Jan 21, 4:07 pm, howesc <[email protected]> wrote: > I'm using web2py on GAE, and wanted to be able to click on a link and > view tickets in that world, so i basically did a copy of the code from > the admin interface into my default.py so that my app can display the > tickets. I'll paste it in here, hope it copies fine in email (i don't > think i can add an attachment to the group) > > note that because this is a copy of code from the admin interface it's > not best practice, but i was in a hurry. Also keep in mind that this > breaks the security of the ticket system, which is why it is set up > the way it is in the first place, so use with care. > > in default.py in my application i added: > > from applications.rockriver.modules.parse_xml import * > from gluon.restricted import RestrictedError > import os > > #################### > # ticket stuff > #################### > def make_link(path): > """ Create a link from a path """ > tryFile = path.replace('\\', '/') > > if os.path.isabs(tryFile) and os.path.isfile(tryFile): > (folder, filename) = os.path.split(tryFile) > (base, ext) = os.path.splitext(filename) > app = request.args[0] > > editable = {'controllers': '.py', 'models': '.py', 'views': > '.html'} > for key in editable.keys(): > check_extension = folder.endswith("%s/%s" % (app,key)) > if ext.lower() == editable[key] and check_extension: > return A('"' + tryFile + '"', > _href=URL(r=request, > f='edit/%s/%s/%s' % (app, key, filename))).xml > () > return '' > > def make_links(traceback): > """ Make links using the given traceback """ > > lwords = traceback.split('"') > > # Making the short circuit compatible with <= python2.4 > result = (len(lwords) != 0) and lwords[0] or '' > > i = 1 > > while i < len(lwords): > link = make_link(lwords[i]) > > if link == '': > result += '"' + lwords[i] > else: > result += link > > if i + 1 < len(lwords): > result += lwords[i + 1] > i = i + 1 > > i = i + 1 > > return result > > class TRACEBACK(object): > """ Generate the traceback """ > > def __init__(self, text): > """ TRACEBACK constructor """ > > self.s = make_links(CODE(text).xml()) > > def xml(self): > """ Returns the xml """ > > return self.s > > @auth.requires_login() > def ticket(): > """ Ticket handler """ > > if len(request.args) != 2: > session.flash = T('invalid ticket') > redirect(URL(r=request, f='site')) > > app = request.args[0] > ticket = request.args[1] > e = RestrictedError() > e.load(request, app, ticket) > > return dict(app=app, > ticket=ticket, > traceback=TRACEBACK(e.traceback), > code=e.code, > layer=e.layer) > > ############# > in routes.py i added an error message to make the link point back to > my app (note that i already have a route that removes the app name > from the URL): > > error_message = '<html><body><h1>Invalid request</h1></body></html>' > error_message_ticket = '<html><body><h1>Internal error</h1>Ticket > issued: <a href="/default/ticket/%(ticket)s" target="_blank">%(ticket) > s</a></body></html>' > > On Jan 21, 9:41 am, mdipierro <[email protected]> wrote: > > > also look into scripts/tickets2db.py > > > On Jan 21, 10:34 am, Jeff Bauer <[email protected]> wrote: > > > > That shouldn't be too hard to do. In the meantime, I > > > realized that I could just grab the tickets from: > > > > web2py/applications/myapp/errors > > > > Jeff Bauer > > > Rubicon, Inc. > > > > On 01/21/2010 08:12 AM, mdipierro wrote: > > > > > It should be trivial to make a view_tickets app by taking the > > > > appropriate action from admin and add auth. > > > > > I encourage people to build one and I will be happy to post it. > > > > > Massimo > > > > > On Jan 21, 7:51 am, Jeff Bauer<[email protected]> wrote: > > > >> I'm using web2app for a small one-off application in a > > > >> corporate setting, quickly making changes to code to > > > >> get a project done. Two users behind a corporate > > > >> firewall. It's become a real hassle when application > > > >> errors occur because the tickets aren't visible. > > > > >> I can understand not making the admin interface > > > >> accessible over an insecure connection, but because > > > >> the ticket notification is tied to the admin system, > > > >> here's what I have to do: > > > > >> - user reports an error, sends me the ticket > > > >> - I fire up another copy of web2py on a different port > > > >> - run a proxy: ssh -L 8001:127.0.0.1:8001 [email protected] > > > >> - get the ticket info > > > >> - shut everything down > > > > >> That's a lot of work just to get a traceback when attempting > > > >> rapid development. There are settings where read-only access > > > >> to the ticket info is justified, even if you don't want to > > > >> grant users full admin access. > > > > >> -- > > > >> Jeff Bauer > > > >> Rubicon, Inc. > > -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.

