diff --git a/VERSION b/VERSION index 08a81b93..f0370e8c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 1.99.4 (2012-02-28 15:13:05) stable +Version 1.99.4 (2012-02-28 15:39:53) stable diff --git a/applications/admin/controllers/default.py b/applications/admin/controllers/default.py index 65cd3c57..9f07abfa 100644 --- a/applications/admin/controllers/default.py +++ b/applications/admin/controllers/default.py @@ -1061,7 +1061,10 @@ def errors(): app = get_app() method = request.args(1) or 'new' - + db_ready = {} + db_ready['status'] = get_ticket_storage(app) + db_ready['errmessage'] = "No ticket_storage.txt found under /private folder" + db_ready['errlink'] = "http://web2py.com/books/default/chapter/29/13#Collecting-tickets" if method == 'new': errors_path = apath('%s/errors' % app, r=request) @@ -1104,7 +1107,7 @@ def errors(): decorated = [(x['count'], x) for x in hash2error.values()] decorated.sort(key=operator.itemgetter(0), reverse=True) - return dict(errors = [x[1] for x in decorated], app=app, method=method) + return dict(errors = [x[1] for x in decorated], app=app, method=method, db_ready=db_ready) elif method == 'dbnew': errors_path = apath('%s/errors' % app, r=request) @@ -1169,16 +1172,16 @@ def errors(): key=func, reverse=True) - return dict(app=app, tickets=tickets, method=method) + return dict(app=app, tickets=tickets, method=method, db_ready=db_ready) def get_ticket_storage(app): private_folder = apath('%s/private' % app, r=request) ticket_file = os.path.join(private_folder, 'ticket_storage.txt') - if os.path.exists(ticket__file): + if os.path.exists(ticket_file): db_string = open(ticket_file).read() db_string = db_string.strip().replace('\r','').replace('\n','') else: - raise Exception, "No ticket_storage.txt found in /private folder" + return False tickets_table = 'web2py_ticket' tablename = tickets_table + '_' + app db_path = apath('%s/databases' % app, r=request) diff --git a/applications/admin/views/default.mobile/errors.html b/applications/admin/views/default.mobile/errors.html index 3cca94e2..084ce604 100644 --- a/applications/admin/views/default.mobile/errors.html +++ b/applications/admin/views/default.mobile/errors.html @@ -19,6 +19,9 @@ table.sortable thead { tr.error_ticket:hover { background-color: #eee; } +a.unavailable { + color: #ff0000; +} - +{{if db_ready['status'] == False: + switchurl = db_ready['errmessage'] + switchbutton = XML("""switch to : db""" % dict(href=switchurl, title=db_ready['errmessage'])) +else: + switchurl = URL(args=[app, 'dbnew']) + switchbutton = XML("""switch to : db""" % (switchurl)) +pass}}

{{=T('Error logs for "%(app)s"',dict(app=app))}}

@@ -59,7 +68,7 @@ tr.error_ticket:hover { lists by ticket {{else:}} source : filesystem - switch to : db + {{=switchbutton}} lists by ticket {{pass}}

@@ -103,7 +112,7 @@ tr.error_ticket:hover { lists by exception {{else:}} source : filesystem - switch to : db + {{=switchbutton}} lists by exception {{pass}}

diff --git a/applications/admin/views/default/errors.html b/applications/admin/views/default/errors.html index 498e87b6..0fc33a33 100644 --- a/applications/admin/views/default/errors.html +++ b/applications/admin/views/default/errors.html @@ -19,6 +19,9 @@ table.sortable thead { tr.error_ticket:hover { background-color: #eee; } +.controls a.button.unavailable { + color: #ff0000; +} +{{if db_ready['status'] == False: + switchbutton = A(SPAN("switch to : db"), _href=db_ready['errlink'], _class="button unavailable", _title="%s" % (db_ready['errmessage'])) +else: + switchbutton = A(SPAN("switch to : db"), _href=URL(args=[app, 'dbnew']), _class="button") +pass}}

{{=T('Error logs for "%(app)s"',dict(app=app))}}

@@ -57,7 +65,7 @@ tr.error_ticket:hover { lists by ticket {{else:}} source : filesystem - switch to : db + {{=switchbutton}} lists by ticket {{pass}}

@@ -101,7 +109,7 @@ tr.error_ticket:hover { lists by exception {{else:}} source : filesystem - switch to : db + {{=switchbutton}} lists by exception {{pass}}