fixws and 'new' button in grid query

This commit is contained in:
Massimo Di Pierro
2011-12-05 11:39:42 -06:00
parent 01f6f82cdf
commit d281acb421
305 changed files with 8352 additions and 8032 deletions
+2 -1
View File
@@ -88,7 +88,7 @@ var bShellScrolling=0
jQuery(document).ready(function(){
jQuery('#statement').focus();
jQuery('#statement').keyup(function(event){
jQuery('#statement').keyup(function(event){
var t=jQuery(this),
s=t.val(),
o=jQuery('#output'),
@@ -157,3 +157,4 @@ jQuery(document).ready(function(){
});
});
</script>
@@ -10,3 +10,4 @@
<p class="controls">{{=button(URL('edit/%s/LICENSE' % (app)), T('Edit'))}}</p>
<div class="license_text legalese">{{=license}}</div>
</ul>
@@ -17,7 +17,7 @@
.acw-chap .sidebar
{
background-image:url('{{=URL(r=request,c='static',f='eamy')}}/chap-bg-sidebar.gif');
line-height:11px;
line-height:11px;
}
.acw-chap .sidebar .row-number
{
@@ -53,7 +53,7 @@
}
.acw-chap .void
{
background-image:url('{{=URL(r=request,c='static',f='eamy')}}/void.gif');
background-image:url('{{=URL(r=request,c='static',f='eamy')}}/void.gif');
}
</style>
<script src="{{=URL(r=request,c='static',f='eamy/eamy.js')}}" type="text/javascript"></script>
@@ -74,3 +74,4 @@ jQuery(document).bind('keydown', 'alt+f1',function (evt){
doClickSave();
});
</script>
@@ -7,3 +7,4 @@
<div class="pwform">
{{=form}}
</div>
@@ -6,3 +6,4 @@
<h2>{{=T('Are you sure you want to delete file "%s"?', filename)}}</h2>
<p>{{=FORM(INPUT(_type='submit',_name='nodelete',_value=T('Abort')),INPUT(_type='hidden',_name='sender',_value=sender), _class="inline")}}{{=FORM(INPUT(_type='submit',_name='delete',_value=T('Delete')),INPUT(_type='hidden',_name='sender',_value=sender), _class="inline")}}</p>
</div>
@@ -7,3 +7,4 @@
<p>{{=FORM(INPUT(_type='submit',_name='nodelete',_value=T('NO')))}}</p>
<p>{{=FORM(INPUT(_type='submit',_name='delete',_value=T('YES')))}}</p>
</div>
@@ -46,7 +46,7 @@ for c in controllers: controller_functions+=[c[:-3]+'/%s.html'%x for x in functi
<!-- CONTROLLERS -->
<h3 id="controllers" onclick="collapse('controllers_inner');" class="component">
{{=T("Controllers")}}
{{=T("Controllers")}}
<span class="tooltip">{{=helpicon()}} <span>{{=T("The application logic, each URL path is mapped in one exposed function in the controller")}}</span></span>
</h3>
<div id="controllers_inner" class="component_contents">
@@ -152,7 +152,7 @@ for c in controllers: controller_functions+=[c[:-3]+'/%s.html'%x for x in functi
items=file.split('/')
file_path=items[:-1]
filename=items[-1]
while path!=file_path:
while path!=file_path:
if len(file_path)>=len(path) and all([v==file_path[k] for k,v in enumerate(path)]):
path.append(file_path[len(path)])
thispath='static__'+'__'.join(path)
@@ -248,7 +248,7 @@ jQuery(document).ready(function(){
jQuery('.component_contents li, .formfield, .comptools').hide();
files=data['files'];
for(var i=0; i<files.length; i++)
jQuery('li#'+files[i].replace(/\//g,'__').replace('.','__')).slideDown();
jQuery('li#'+files[i].replace(/\//g,'__').replace('.','__')).slideDown();
jQuery('.flash').html('{{=T("Searching:")}} '+files.length+' {{=T("files")}}').slideDown();
});
} else if(code==13) {
@@ -258,3 +258,4 @@ jQuery(document).ready(function(){
});
});
</script>
@@ -11,3 +11,4 @@
{{=FORM(INPUT(_type='submit',_name='nodowngrade',_value=T('Cancel')), _class='inline')}}
{{=FORM(INPUT(_type='submit',_name='downgrade',_value=T('Downgrade')), _class='inline')}}
</div>
@@ -52,3 +52,4 @@ jQuery(document).ready(function(){
</form>
</div>
@@ -4,7 +4,7 @@ function delkey(id) {
jQuery('#'+id).hide();
jQuery('#'+id+' INPUT').val(String.fromCharCode(127));
jQuery('#'+id+' TEXTAREA').val(String.fromCharCode(127));
return false;
return false;
}
</script>
@@ -16,3 +16,4 @@ function delkey(id) {
{{=form}}
</div>
@@ -41,12 +41,12 @@ tr.error_ticket:hover {
<div class="errorform">
<form name="myform" method="post">
<input name="CheckAll" value="{{=T('check all')}}"
<input name="CheckAll" value="{{=T('check all')}}"
onclick="check()" type="button">
<input name="CheckAll" value="{{=T('uncheck all')}}"
<input name="CheckAll" value="{{=T('uncheck all')}}"
onclick="uncheck()" type="button">
<input value="{{=T('delete all checked')}}" type="submit"><br><br>
{{ if 'new' in method: }}
{{base_url = 'db' in method and 'ticketdb' or 'ticket' }}
<h3>{{=T('Click row to expand traceback')}}</h3>
@@ -131,3 +131,4 @@ tr.error_ticket:hover {
{{ pass }}
</form>
</div>
@@ -11,3 +11,4 @@
</table>
</form>
</div>
@@ -1,59 +1,59 @@
<!DOCTYPE html>
<html lang="{{=T.accepted_language or 'en'}}" class="no-js"><!-- no-js need it for modernzr -->
<head>
<meta charset="utf-8" />
<meta charset="utf-8" />
<!-- www.phpied.com/conditional-comments-block-downloads/ -->
<!--[if IE]><![endif]-->
<!-- Always force latest IE rendering engine
(even in intranet) & Chrome Frame
<!--[if IE]><![endif]-->
<!-- Always force latest IE rendering engine
(even in intranet) & Chrome Frame
Remove this if you use the .htaccess -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>web2py mobile admin</title>
<!-- http://dev.w3.org/html5/markup/meta.name.html -->
<meta name="application-name" content="{{=request.application}}" />
<!-- Speaking of Google, don't forget to set your site up:
<meta name="application-name" content="{{=request.application}}" />
<!-- Speaking of Google, don't forget to set your site up:
http://google.com/webmasters -->
<meta name="google-site-verification" content="" />
<!-- Mobile Viewport Fix
j.mp/mobileviewport & davidbcalhoun.com/2010/viewport-metatag
j.mp/mobileviewport & davidbcalhoun.com/2010/viewport-metatag
device-width: Occupy full width of the screen in its current orientation
initial-scale = 1.0 retains dimensions instead of zooming out if page height > device height
maximum-scale = 1.0 retains dimensions instead of zooming in if page width < device width
-->
<!--meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;"-->
<!-- Place favicon.ico and apple-touch-icon.png in the root of your domain and delete these references -->
<link rel="shortcut icon" href="{{=URL('static','favicon.ico')}}" type="image/x-icon">
<link rel="apple-touch-icon" href="{{=URL('static','favicon.png')}}">
<!-- For the less-enabled mobile browsers like Opera Mini -->
<link rel="stylesheet" href="{{=URL('static','plugin_jqmobile/jquery.mobile-1.0.min.css')}}">
<!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects -->
<script src="{{=URL('static','js/modernizr.custom.js')}}"></script>
{{include 'web2py_ajax.html'}}
{{include 'web2py_ajax.html'}}
<script type="text/javascript">
//run this script after jQuery loads, but before jQuery Mobile loads
//customize jQuery Mobile to let IE7+ in (Mobile IE)
//customize jQuery Mobile to let IE7+ in (Mobile IE)
$(document).bind("mobileinit", function(){
$.extend( $.mobile , {
//extend gradeA qualifier to include IE7+
gradeA: function(){
gradeA: function(){
//IE version check by James Padolsey, modified by jdalton - from http://gist.github.com/527683
var ie = (function() {
var v = 3, div = document.createElement('div'), a = div.all || [];
while (div.innerHTML = '<!--[if gt IE '+(++v)+']><br><![endif]-->', a[0]);
while (div.innerHTML = '<!--[if gt IE '+(++v)+']><br><![endif]-->', a[0]);
return v > 4 ? v : !v;
}());
//must either support media queries or be IE7+
return $.support.mediaquery || (ie && ie >= 7);
}
@@ -62,19 +62,19 @@ $(document).bind("mobileinit", function(){
</script>
<script src="{{=URL('static','plugin_jqmobile/jquery.mobile-1.0.min.js')}}"></script>
<style>
.error { color: red; }
</style>
</head>
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7 ]> <body class="ie6"> <![endif]-->
<!--[if IE 7 ]> <body class="ie7"> <![endif]-->
<!--[if IE 8 ]> <body class="ie8"> <![endif]-->
<!--[if IE 9 ]> <body class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <body> <!--<![endif]-->
<div data-role="page">
<div data-role="header" data-fullscreen="true" data-position="fixed">
<h1>web2py mobile admin/{{block sectionclass}}{{end}}</h1>
@@ -108,11 +108,12 @@ $(document).bind("mobileinit", function(){
</div>
</div>
<!--[if lt IE 7 ]>
<script src="{{=URL('static','plugin_jqmobile/dd_belatedpng.js')}}"></script>
<script> DD_belatedPNG.fix('img, .png_bg'); //fix any <img> or .png_bg background-images </script>
<![endif]-->
</body>
</html>
@@ -14,3 +14,4 @@ if filename[-3:]=='.py': language='python'
else: language='html'
}}
{{=CODE(data,language=language,link='/examples/global/vars/')}}
@@ -10,7 +10,7 @@ def editfile(path,file):
def testfile(path,file):
return A(TAG[''](IMG(_src=URL('static', 'images/test_icon.png'), _alt=T('test')), SPAN(T("Run tests in this file"))), _class='icon test tooltip',_href=URL('test', args=(app, file)))
def editlanguagefile(path,file):
return A(SPAN(T('Edit')),_class='button editbutton',_href=URL('edit_language', args=(app, path, file)))
return A(SPAN(T('Edit')),_class='button editbutton',_href=URL('edit_language', args=(app, path, file)))
def file_upload_form(location):
form=FORM(T("upload file:")," ",
INPUT(_type="file",_name="file")," ",T("and rename it:")," ",
@@ -219,3 +219,4 @@ for c in controllers: controller_functions+=[c[:-3]+'/%s.html'%x for x in functi
</div>
@@ -22,3 +22,4 @@ function all() {jQuery('.plus').show(); jQuery('.minus').show(); }
<input type="submit" name="merge" value="{{=T('merge')}}" /><br/>
</form>
</div>
@@ -5,10 +5,10 @@
<h2>{{=T("Installed applications")}}</h2>
<ul data-role="listview">
{{for a in apps:}}
{{for a in apps:}}
<li>
{{if a==request.application:}}
<h3>{{=a}} ({{=T('currently running')}})</h3>
<h3>{{=a}} ({{=T('currently running')}})</h3>
{{else:}}
<h3>{{=a}}</h3>
{{if MULTI_USER_MODE and db.app(name=a):}}<p>created by {{="%(first_name)s %(last_name)s" % db.auth_user[db.app(name=a).owner]}}</p>{{pass}}
@@ -18,7 +18,7 @@
{{=LI(A(T('Goto'),_rel="external",_href=URL(a,'default','index')))}}
{{if not os.path.exists('applications/%s/compiled' % a):}}
{{=LI(A(T('Edit'),_href=URL('design',args=a)))}}
{{else:}}
{{else:}}
{{=LI(A(T('appadmin'),_rel="external",_href=URL(a,'appadmin','index')))}}
{{pass}}
{{=LI(A(T('About'),_href=URL('about',args=a)))}}
@@ -41,3 +41,4 @@
</li>
{{pass}}
</ul>
@@ -18,3 +18,4 @@ ajax('{{=URL(a=app,c=controller[:-3],f='_TEST')}}',[],'output_{{=controller[:-3]
A green title indicates that all tests (if defined) passed. In this case test results are not shown.""")}}</p>
<p class="help">{{=T('Functions with no doctests will result in [passed] tests.')}}</p>
<p class="help">{{=T('ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.')}}</p>
@@ -28,14 +28,14 @@
{{try:}}
<!-- ERROR SNAPSHOT -->
<h3>
{{=T('Error snapshot')}}
{{=T('Error snapshot')}}
<span class="tooltip">{{=helpicon()}} <span>{{=T('Detailed traceback description')}}</span></span>
</h3>
<!-- SNAPSHOT LIST -->
<div id="snapshot">
<!-- Exception details -->
<p class="exception_object inspect">
@@ -60,7 +60,7 @@
</div>
</div>
</div>
<!-- FRAMES -->
<div id="frames">
<h4>{{=T('Frames')}}</h4>
@@ -71,18 +71,18 @@
<div class="framefile inspect controls">
<p>
<strong>File {{="%s in %s at line %s" % (frame['file'], frame['func'], frame['lnum'])}}</strong>
<a class="button tbbutton" onclick="collapse('{{="%s_code_inner" % i}}');"><span>{{=T("code")}}</span></a>
<a class="button tbbutton" onclick="collapse('{{="%s_args_inner" % i}}');"><span>{{=T("arguments")}}</span></a>
<a class="button tbbutton" onclick="collapse('{{="%s_code_inner" % i}}');"><span>{{=T("code")}}</span></a>
<a class="button tbbutton" onclick="collapse('{{="%s_args_inner" % i}}');"><span>{{=T("arguments")}}</span></a>
<a class="button tbbutton" onclick="collapse('{{="%s_vars_inner" % i}}');"><span>{{=T("variables")}}</span></a>
</p>
<div id="{{="%s_args_inner" % i}}" class="{{=is_hidden}}">
</p>
<div id="{{="%s_args_inner" % i}}" class="{{=is_hidden}}">
<h5>Function argument list</h5>
<p>{{=frame['call']}}</p>
</div>
<div id="{{="%s_code_inner" % i}}" class="{{=is_hidden}}">
<h5>Code listing</h5>
{{if frame['lines']:}}
<pre>{{=CODE('\n'.join([x[1] for x in sorted(frame['lines'].items(),key=lambda x: x[0])]),
<pre>{{=CODE('\n'.join([x[1] for x in sorted(frame['lines'].items(),key=lambda x: x[0])]),
language='python', link=None, counter=min(frame['lines'].keys()), highlight_line=frame['lnum'])}}</pre>
{{pass}}
</div>
@@ -123,10 +123,11 @@
<!-- this should not happen, just in case... (cannot output normal hmtl as we don't know current open tags) -->
{{import traceback;tb=traceback.format_exc().replace("\n","\\n") }}
<script language='javascript'>alert("Exception during snapshot rendering: {{=tb}} ");</script>
{{pass}}
{{pass}}
{{pass}}
<div class="errorsource">
<h3>In file: {{=layer}}</h3>
{{=CODE(code.replace('\r',''),language='python',link='/examples/global/vars/')}}
</div>
@@ -7,3 +7,4 @@
<td>{{=FORM(INPUT(_type='submit',_name='delete',_value=T('Uninstall')))}}</td>
</tr></table>
</center>
@@ -11,3 +11,4 @@
{{=FORM(INPUT(_type='submit',_name='noupgrade',_value=T('Cancel')), _class='inline')}}
{{=FORM(INPUT(_type='submit',_name='upgrade',_value=T('Upgrade')), _class='inline')}}
</div>
@@ -16,4 +16,5 @@
<!--
jQuery("#web2py_user_form input:visible:enabled:first").focus();
//-->
</script>
</script>
@@ -10,3 +10,4 @@
<p class="controls">{{=button(URL('edit/%s/LICENSE' % (app)), T('Edit'))}}</p>
<div class="license_text legalese">{{=license}}</div>
</ul>
@@ -17,7 +17,7 @@
.acw-chap .sidebar
{
background-image:url('{{=URL(r=request,c='static',f='eamy')}}/chap-bg-sidebar.gif');
line-height:11px;
line-height:11px;
}
.acw-chap .sidebar .row-number
{
@@ -53,7 +53,7 @@
}
.acw-chap .void
{
background-image:url('{{=URL(r=request,c='static',f='eamy')}}/void.gif');
background-image:url('{{=URL(r=request,c='static',f='eamy')}}/void.gif');
}
</style>
<script src="{{=URL(r=request,c='static',f='eamy/eamy.js')}}" type="text/javascript"></script>
@@ -74,3 +74,4 @@ jQuery(document).bind('keydown', 'alt+f1',function (evt){
doClickSave();
});
</script>
@@ -7,3 +7,4 @@
<div class="pwform">
{{=form}}
</div>
@@ -6,3 +6,4 @@
<h2>{{=T('Are you sure you want to delete file "%s"?', filename)}}</h2>
<p>{{=FORM(INPUT(_type='submit',_name='nodelete',_value=T('Abort')),INPUT(_type='hidden',_name='sender',_value=sender), _class="inline")}}{{=FORM(INPUT(_type='submit',_name='delete',_value=T('Delete')),INPUT(_type='hidden',_name='sender',_value=sender), _class="inline")}}</p>
</div>
@@ -7,3 +7,4 @@
<p>{{=FORM(INPUT(_type='submit',_name='nodelete',_value=T('NO')))}}</p>
<p>{{=FORM(INPUT(_type='submit',_name='delete',_value=T('YES')))}}</p>
</div>
+10 -9
View File
@@ -3,13 +3,13 @@
def all(items):
return reduce(lambda a,b:a and b,items,True)
def peekfile(path,file):
return A(file.replace('\\\\','/'),_href=URL('peek', args=(app, path, file)))
return A(file.replace('\\\\','/'),_href=URL('peek', args=(app, path, file)))
def editfile(path,file):
return A(SPAN(T('Edit')),_class='button editbutton',_href=URL('edit', args=(app, path, file)))
return A(SPAN(T('Edit')),_class='button editbutton',_href=URL('edit', args=(app, path, file)))
def testfile(path,file):
return A(TAG[''](IMG(_src=URL('static', 'images/test_icon.png'), _alt=T('test')), SPAN(T("Run tests in this file (to run all files, you may also use the button labelled 'test')"))), _class='icon test tooltip',_href=URL('test', args=(app, file)))
return A(TAG[''](IMG(_src=URL('static', 'images/test_icon.png'), _alt=T('test')), SPAN(T("Run tests in this file (to run all files, you may also use the button labelled 'test')"))), _class='icon test tooltip',_href=URL('test', args=(app, file)))
def editlanguagefile(path,file):
return A(SPAN(T('Edit')),_class='button editbutton',_href=URL('edit_language', args=(app, path, file)))
return A(SPAN(T('Edit')),_class='button editbutton',_href=URL('edit_language', args=(app, path, file)))
def file_upload_form(location):
form=FORM(T("upload file:")," ",
INPUT(_type="file",_name="file")," ",T("and rename it:")," ",
@@ -17,7 +17,7 @@ def file_upload_form(location):
INPUT(_type="hidden",_name="location",_value=location),
INPUT(_type="hidden",_name="sender",_value=URL('design',args=app)),
INPUT(_type="submit",_value=T("upload")),_action=URL('upload_file'))
return form
return form
def file_create_form(location):
form=FORM(T("create file with filename:")," ",
INPUT(_type="text",_name="filename",requires=IS_NOT_EMPTY),
@@ -58,7 +58,7 @@ def deletefile(arglist):
<!-- MODELS -->
<h3 id="models" onclick="collapse('models_inner');" class="component">
{{=T("Models")}}
{{=T("Models")}}
<span class="tooltip">{{=helpicon()}} <span>{{=T("The data representation, define database tables and sets")}}</span></span>
</h3>
<div id="models_inner" class="component_contents">
@@ -99,7 +99,7 @@ for c in controllers: controller_functions+=[c[:-3]+'/%s.html'%x for x in functi
<!-- CONTROLLERS -->
<h3 id="controllers" onclick="collapse('controllers_inner');" class="component">
{{=T("Controllers")}}
{{=T("Controllers")}}
<span class="tooltip">{{=helpicon()}} <span>{{=T("The application logic, each URL path is mapped in one exposed function in the controller")}}</span></span>
</h3>
<div id="controllers_inner" class="component_contents">
@@ -205,7 +205,7 @@ for c in controllers: controller_functions+=[c[:-3]+'/%s.html'%x for x in functi
items=file.split('/')
file_path=items[:-1]
filename=items[-1]
while path!=file_path:
while path!=file_path:
if len(file_path)>=len(path) and all([v==file_path[k] for k,v in enumerate(path)]):
path.append(file_path[len(path)])
thispath='static__'+'__'.join(path)
@@ -301,7 +301,7 @@ jQuery(document).ready(function(){
jQuery('.component_contents li, .formfield, .comptools').hide();
files=data['files'];
for(var i=0; i<files.length; i++)
jQuery('li#'+files[i].replace(/\//g,'__').replace('.','__')).slideDown();
jQuery('li#'+files[i].replace(/\//g,'__').replace('.','__')).slideDown();
jQuery('.flash').html('{{=T("Searching:")}} '+files.length+' {{=T("files")}}').slideDown();
});
} else if(code==13) {
@@ -311,3 +311,4 @@ jQuery(document).ready(function(){
});
});
</script>
@@ -11,3 +11,4 @@
{{=FORM(INPUT(_type='submit',_name='nodowngrade',_value=T('Cancel')), _class='inline')}}
{{=FORM(INPUT(_type='submit',_name='downgrade',_value=T('Downgrade')), _class='inline')}}
</div>
+2 -1
View File
@@ -40,7 +40,7 @@ jQuery(document).ready(function(){
{{if edit_controller:}}
{{=button(edit_controller, T('edit controller'))}}
{{pass}}
{{if view_link:}}
{{if view_link:}}
{{=button(view_link, T('try view'))}}
{{pass}}
{{if request.args[1]=='models':}}
@@ -90,3 +90,4 @@ jQuery(document).ready(function(){
</ul>
</div>
{{pass}}
@@ -4,7 +4,7 @@ function delkey(id) {
jQuery('#'+id).hide();
jQuery('#'+id+' INPUT').val(String.fromCharCode(127));
jQuery('#'+id+' TEXTAREA').val(String.fromCharCode(127));
return false;
return false;
}
</script>
@@ -16,3 +16,4 @@ function delkey(id) {
{{=form}}
</div>
+4 -3
View File
@@ -41,12 +41,12 @@ tr.error_ticket:hover {
<div class="errorform">
<form name="myform" method="post">
<input name="CheckAll" value="{{=T('check all')}}"
<input name="CheckAll" value="{{=T('check all')}}"
onclick="check()" type="button">
<input name="CheckAll" value="{{=T('uncheck all')}}"
<input name="CheckAll" value="{{=T('uncheck all')}}"
onclick="uncheck()" type="button">
<input value="{{=T('delete all checked')}}" type="submit"><br><br>
{{ if 'new' in method: }}
{{base_url = 'db' in method and 'ticketdb' or 'ticket' }}
<h3>{{=T('Click row to expand traceback')}}</h3>
@@ -131,3 +131,4 @@ tr.error_ticket:hover {
{{ pass }}
</form>
</div>
@@ -19,3 +19,4 @@
</table>
</form>
</div>
@@ -14,3 +14,4 @@ if filename[-3:]=='.py': language='python'
else: language='html'
}}
{{=CODE(data,language=language,link='/examples/global/vars/')}}
+2 -1
View File
@@ -10,7 +10,7 @@ def editfile(path,file):
def testfile(path,file):
return A(TAG[''](IMG(_src=URL('static', 'images/test_icon.png'), _alt=T('test')), SPAN(T("Run tests in this file"))), _class='icon test tooltip',_href=URL('test', args=(app, file)))
def editlanguagefile(path,file):
return A(SPAN(T('Edit')),_class='button editbutton',_href=URL('edit_language', args=(app, path, file)))
return A(SPAN(T('Edit')),_class='button editbutton',_href=URL('edit_language', args=(app, path, file)))
def file_upload_form(location):
form=FORM(T("upload file:")," ",
INPUT(_type="file",_name="file")," ",T("and rename it:")," ",
@@ -219,3 +219,4 @@ for c in controllers: controller_functions+=[c[:-3]+'/%s.html'%x for x in functi
</div>
@@ -22,3 +22,4 @@ function all() {jQuery('.plus').show(); jQuery('.minus').show(); }
<input type="submit" name="merge" value="{{=T('merge')}}" /><br/>
</form>
</div>
+10 -9
View File
@@ -7,13 +7,13 @@
<div class="applist_inner">
<h2>{{=T("Installed applications")}}</h2>
<ul>
{{for a in apps:}}
{{for a in apps:}}
<li class="application"> <!-- onmouseover="jQuery(this).children('p').show()" onmouseout="jQuery(this).children('p').hide()"-->
{{if a==request.application:}}
<h3 class="currentapp">{{=a}} ({{=T('currently running')}})</h3>
<h3 class="currentapp">{{=a}} ({{=T('currently running')}})</h3>
<p class="controls">
{{else:}}
<h3 class="editableapp">{{=A(a,_href=URL(a,'default','index'))}}</h3>
<h3 class="editableapp">{{=A(a,_href=URL(a,'default','index'))}}</h3>
{{if MULTI_USER_MODE and db.app(name=a):}}(created by {{="%(first_name)s %(last_name)s" % db.auth_user[db.app(name=a).owner]}}){{pass}}
<p class="controls">
{{if not os.path.exists('applications/%s/compiled' % a):}}
@@ -58,7 +58,7 @@
<!-- VERSION -->
{{if is_manager():}}
<div class="box">
<h3>{{="Version %s.%s.%s (%s) %s" % myversion}}</h3>
<h3>{{="Version %s.%s.%s (%s) %s" % myversion}}</h3>
{{if session.check_version:}}
<p id="check_version">
{{=T('Checking for upgrades...')}}
@@ -85,8 +85,8 @@
<h3>{{=T("New simple application")}}</h3>
<form action="" enctype="multipart/form-data" method="post">
<div class="formfield">
{{=LABEL(T("Application name:"), _for="scaffold_filename")}}
<input name="filename" type="text" id="scaffold_filename" />
{{=LABEL(T("Application name:"), _for="scaffold_filename")}}
<input name="filename" type="text" id="scaffold_filename" />
<button type="submit" class="button">{{=T('Create')}}</button>
</div>
<div class="hidden"></div>
@@ -111,7 +111,7 @@
{{=LABEL(T("Upload a package:"), _for='upload_file')}}
</td>
<td>
<input id="file" name="file" type="file" id="upload_file" />
<input id="file" name="file" type="file" id="upload_file" />
<b>OR</b>
</td>
</tr>
@@ -126,7 +126,7 @@
<tr>
<td></td>
<td>
<input type="checkbox" name="overwrite_check" id="upload_overwrite" />
<input type="checkbox" name="overwrite_check" id="upload_overwrite" />
{{=LABEL(T("Overwrite installed app"), _for='upload_overwrite')}}
</td>
</tr>
@@ -145,7 +145,7 @@
<h3>{{=T("Deploy on Google App Engine")}}</h3>
<p>{{=button(URL('gae','deploy'), T('Deploy'))}}</p>
</div><br/>
{{if TWITTER_HASH:}}
{{if TWITTER_HASH:}}
<div class="box">
<h3>{{=T("%s Recent Tweets"%TWITTER_HASH)}}</h3>
<div id="tweets">{{=T('loading...')}}</div>
@@ -156,3 +156,4 @@
{{pass}}
</div>
</div>
@@ -18,3 +18,4 @@ ajax('{{=URL(a=app,c=controller[:-3],f='_TEST')}}',[],'output_{{=controller[:-3]
A green title indicates that all tests (if defined) passed. In this case test results are not shown.""")}}</p>
<p class="help">{{=T('Functions with no doctests will result in [passed] tests.')}}</p>
<p class="help">{{=T('ATTENTION: TESTING IS NOT THREAD SAFE SO DO NOT PERFORM MULTIPLE TESTS CONCURRENTLY.')}}</p>
+12 -11
View File
@@ -28,14 +28,14 @@
{{try:}}
<!-- ERROR SNAPSHOT -->
<h3>
{{=T('Error snapshot')}}
{{=T('Error snapshot')}}
<span class="tooltip">{{=helpicon()}} <span>{{=T('Detailed traceback description')}}</span></span>
</h3>
<!-- SNAPSHOT LIST -->
<div id="snapshot">
<!-- Exception details -->
<p class="exception_object inspect">
@@ -60,7 +60,7 @@
</div>
</div>
</div>
<!-- FRAMES -->
<div id="frames">
<h4>{{=T('Frames')}}</h4>
@@ -71,18 +71,18 @@
<div class="framefile inspect controls">
<p>
<strong>File {{="%s in %s at line %s" % (frame['file'], frame['func'], frame['lnum'])}}</strong>
<a class="button tbbutton" onclick="collapse('{{="%s_code_inner" % i}}');"><span>{{=T("code")}}</span></a>
<a class="button tbbutton" onclick="collapse('{{="%s_args_inner" % i}}');"><span>{{=T("arguments")}}</span></a>
<a class="button tbbutton" onclick="collapse('{{="%s_code_inner" % i}}');"><span>{{=T("code")}}</span></a>
<a class="button tbbutton" onclick="collapse('{{="%s_args_inner" % i}}');"><span>{{=T("arguments")}}</span></a>
<a class="button tbbutton" onclick="collapse('{{="%s_vars_inner" % i}}');"><span>{{=T("variables")}}</span></a>
</p>
<div id="{{="%s_args_inner" % i}}" class="{{=is_hidden}}">
</p>
<div id="{{="%s_args_inner" % i}}" class="{{=is_hidden}}">
<h5>Function argument list</h5>
<p>{{=frame['call']}}</p>
</div>
<div id="{{="%s_code_inner" % i}}" class="{{=is_hidden}}">
<h5>Code listing</h5>
{{if frame['lines']:}}
<pre>{{=CODE('\n'.join([x[1] for x in sorted(frame['lines'].items(),key=lambda x: x[0])]),
<pre>{{=CODE('\n'.join([x[1] for x in sorted(frame['lines'].items(),key=lambda x: x[0])]),
language='python', link=None, counter=min(frame['lines'].keys()), highlight_line=frame['lnum'])}}</pre>
{{pass}}
</div>
@@ -123,10 +123,11 @@
<!-- this should not happen, just in case... (cannot output normal hmtl as we don't know current open tags) -->
{{import traceback;tb=traceback.format_exc().replace("\n","\\n") }}
<script language='javascript'>alert("Exception during snapshot rendering: {{=tb}} ");</script>
{{pass}}
{{pass}}
{{pass}}
<div class="errorsource">
<h3>In file: {{=layer}}</h3>
{{=CODE(code.replace('\r',''),language='python',link='/examples/global/vars/')}}
</div>
@@ -7,3 +7,4 @@
<td>{{=FORM(INPUT(_type='submit',_name='delete',_value=T('Uninstall')))}}</td>
</tr></table>
</center>
@@ -11,3 +11,4 @@
{{=FORM(INPUT(_type='submit',_name='noupgrade',_value=T('Cancel')), _class='inline')}}
{{=FORM(INPUT(_type='submit',_name='upgrade',_value=T('Upgrade')), _class='inline')}}
</div>
+2 -1
View File
@@ -16,4 +16,5 @@
<!--
jQuery("#web2py_user_form input:visible:enabled:first").focus();
//-->
</script>
</script>
+1
View File
@@ -28,3 +28,4 @@ $(document).ready(function() {
{{=form}}
</div>
{{pass}}
@@ -31,3 +31,4 @@ for application "{{=request.args[0]}}"</h2>
{{pass}}
{{pass}}
@@ -15,3 +15,4 @@
{{=TABLE(*[TR(f) for f in files])}}
@@ -33,13 +33,13 @@
}
</style>
</head>
<body>
<body>
<iframe src="{{=URL('index')}}"></iframe>
<div id="about">
<h1><a href="http://web2py.com">web2py</a> plugin</h1>
<h2>for <a href="http://jquerymobile.com/">jQuery Mobile</a></h2>
<h2>for <a href="http://jquerymobile.com/">jQuery Mobile</a></h2>
<p>Try click on a button on the left, it is a demo!</p>
<h3>License</h3>
<h3>License</h3>
MIT (same as jQuery Mobile)
<h3>Instructions</h3>
<ul>
@@ -56,7 +56,8 @@ and install the plugin in a web2py app.</li>
<li>Timothy Stockman</li>
<li>Harkirat Singh</li>
<li>Massimo Di Pierro</li>
</ul>
</ul>
</div>
</body>
</html>
@@ -22,12 +22,13 @@
<li><a href="{{=URL('index', vars=dict(title=child))}}">{{=child}}</a></li>
{{pass}}
{{pass}}
</ul>
</ul>
<div>
<div>
{{for tag in ('dog','cat','mouse'):}}
<a data-inline="true" href={{=URL('index', vars=dict(tag=tag))}} data-role="button">{{=tag}}</a>
{{pass}}
</div>
@@ -1,59 +1,59 @@
<!DOCTYPE html>
<html lang="{{=T.accepted_language or 'en'}}" class="no-js"><!-- no-js need it for modernzr -->
<head>
<meta charset="utf-8" />
<meta charset="utf-8" />
<!-- www.phpied.com/conditional-comments-block-downloads/ -->
<!--[if IE]><![endif]-->
<!-- Always force latest IE rendering engine
(even in intranet) & Chrome Frame
<!--[if IE]><![endif]-->
<!-- Always force latest IE rendering engine
(even in intranet) & Chrome Frame
Remove this if you use the .htaccess -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>{{=response.title or request.application}}</title>
<!-- http://dev.w3.org/html5/markup/meta.name.html -->
<meta name="application-name" content="{{=request.application}}" />
<!-- Speaking of Google, don't forget to set your site up:
<meta name="application-name" content="{{=request.application}}" />
<!-- Speaking of Google, don't forget to set your site up:
http://google.com/webmasters -->
<meta name="google-site-verification" content="" />
<!-- Mobile Viewport Fix
j.mp/mobileviewport & davidbcalhoun.com/2010/viewport-metatag
j.mp/mobileviewport & davidbcalhoun.com/2010/viewport-metatag
device-width: Occupy full width of the screen in its current orientation
initial-scale = 1.0 retains dimensions instead of zooming out if page height > device height
maximum-scale = 1.0 retains dimensions instead of zooming in if page width < device width
-->
<!--meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;"-->
<!-- Place favicon.ico and apple-touch-icon.png in the root of your domain and delete these references -->
<link rel="shortcut icon" href="{{=URL('static','favicon.ico')}}" type="image/x-icon">
<link rel="apple-touch-icon" href="{{=URL('static','favicon.png')}}">
<!-- For the less-enabled mobile browsers like Opera Mini -->
<link rel="stylesheet" href="{{=URL('static','plugin_jqmobile/jquery.mobile-1.0.min.css')}}">
<!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects -->
<script src="{{=URL('static','js/modernizr.custom.js')}}"></script>
{{include 'web2py_ajax.html'}}
{{include 'web2py_ajax.html'}}
<script type="text/javascript">
//run this script after jQuery loads, but before jQuery Mobile loads
//customize jQuery Mobile to let IE7+ in (Mobile IE)
//customize jQuery Mobile to let IE7+ in (Mobile IE)
$(document).bind("mobileinit", function(){
$.extend( $.mobile , {
//extend gradeA qualifier to include IE7+
gradeA: function(){
gradeA: function(){
//IE version check by James Padolsey, modified by jdalton - from http://gist.github.com/527683
var ie = (function() {
var v = 3, div = document.createElement('div'), a = div.all || [];
while (div.innerHTML = '<!--[if gt IE '+(++v)+']><br><![endif]-->', a[0]);
while (div.innerHTML = '<!--[if gt IE '+(++v)+']><br><![endif]-->', a[0]);
return v > 4 ? v : !v;
}());
//must either support media queries or be IE7+
return $.support.mediaquery || (ie && ie >= 7);
}
@@ -62,19 +62,19 @@ $(document).bind("mobileinit", function(){
</script>
<script src="{{=URL('static','plugin_jqmobile/jquery.mobile-1.0.min.js')}}"></script>
<style>
.error { color: red; }
</style>
</head>
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7 ]> <body class="ie6"> <![endif]-->
<!--[if IE 7 ]> <body class="ie7"> <![endif]-->
<!--[if IE 8 ]> <body class="ie8"> <![endif]-->
<!--[if IE 9 ]> <body class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <body> <!--<![endif]-->
<div data-role="page">
<div data-role="header" data-fullscreen="true" data-position="fixed">
<h1>{{=response.title}}</h1>
@@ -108,11 +108,12 @@ $(document).bind("mobileinit", function(){
</div>
</div>
<!--[if lt IE 7 ]>
<script src="{{=URL('static','plugin_jqmobile/dd_belatedpng.js')}}"></script>
<script> DD_belatedPNG.fix('img, .png_bg'); //fix any <img> or .png_bg background-images </script>
<![endif]-->
</body>
</html>
+2 -1
View File
@@ -94,7 +94,7 @@ var bShellScrolling=0
jQuery(document).ready(function(){
jQuery('#statement').focus();
jQuery('#statement').keyup(function(event){
jQuery('#statement').keyup(function(event){
var t=jQuery(this),
s=t.val(),
o=jQuery('#output'),
@@ -163,3 +163,4 @@ jQuery(document).ready(function(){
});
});
</script>
+4 -3
View File
@@ -2,8 +2,8 @@
<head>
{{response.files.append(URL('static','js/jquery.js'))}}
{{include 'web2py_ajax.html'}}
</head>
<body style="border:0; margin:0; padding:0;">
</head>
<body style="border:0; margin:0; padding:0;">
<div style="background: #aaaaaa; font-family:hevetica;font-size:9px">
URL: {{=URL(app,'default','index')}}
<button onclick="ajax('{{=URL('admin','toolbar','profiler')}}',[],'profiler_inner');jQuery('#profiler').slideDown()">profiler</button>
@@ -12,6 +12,7 @@
<pre id="profiler_inner">profiler info</pre>
</div>
</div>
<iframe style="border:0;" width="100%" height="100%" src="{{=URL(app,'default','index')}}"></iframe>
<iframe style="border:0;" width="100%" height="100%" src="{{=URL(app,'default','index')}}"></iframe>
</body>
</html>
@@ -11,3 +11,4 @@
<a class="button" href="{{=URL(app,'appadmin','index')}}">Database administration</a>
<br/><br/>
<iframe style="width: 100%; height: 100%; min-height:600px" src="{{=URL(app,'default','index')}}"></iframe>
+7 -6
View File
@@ -14,7 +14,7 @@
<p><strong>App Name:</strong> {{=session.app['name']}}</p>
</div>
<div class="box">
<h3>Current settings</h3>
<h3>Current settings</h3>
<p>{{=button(URL('step1'), T('Edit'))}}</p>
<ul id="current_settings">
{{for key,value in session.app['params']:}}
@@ -50,7 +50,7 @@
<div id="wizard_form" class="fl20 controls">
<!-- FORM -->
{{if 'step' in request.function:}}
<h3>{{=T('Step')}} {{=step}}</h3>
{{if request.function!='step1':}}
@@ -77,7 +77,7 @@ jQuery(document).ready(function(){
});
});
</script>
<!-- INSTRUCTIONS -->
<div class="box">
<h4>Instructions</h4>
@@ -89,7 +89,7 @@ jQuery(document).ready(function(){
</ul>
{{elif request.function=='step1':}}
<ul>
<li>This Wizard will help you build a new web2py app.</li>
<li>This Wizard will help you build a new web2py app.</li>
<li>You can create an app with a name that already exists.</li>
<li>If you do not have an email server set email server to "logging".</li>
<li>If you want to use Janrain Engage for login: 1) Sign up for a <a href="http://www.janrain.com/products/engage">Janrain Engage</a> account; 2) Register you hostname, domain, and obtain an api key; 3) Set Login Config above to "domain:api_key".</li>
@@ -102,7 +102,7 @@ jQuery(document).ready(function(){
<li>Press enter to create a new input row.</li>
<li>Empty rows are ignored.</li>
<li>Other tables for role based access control will be created automatically, and do not need to be listed.</li>
<li>You will be able to add fields later.</li>
<li>You will be able to add fields later.</li>
</ul>
{{elif request.function=='step3':}}
<ul>
@@ -115,7 +115,7 @@ jQuery(document).ready(function(){
<li>string, integer and reference fields can be "multiple", i.e. multiple values will be allowed</li>
<li>For the "auth_user" table do not add attributes to the default fields (username, first_name, last_name, password and email). They are handled automatically.</li>
<li>Some fields will be added automatically upon creation and handled automatically: "created_by", "created_on", "modified_by", "modified_on", "active" (only active fields can be selected).</li>
<li>For every table "table" another table "table_archive" is created and it contains the previous versions of each record. This is only accessible via appadmin or programmatically.</li>
<li>For every table "table" another table "table_archive" is created and it contains the previous versions of each record. This is only accessible via appadmin or programmatically.</li>
</ul>
{{elif request.function=='step4':}}
<ul>
@@ -138,3 +138,4 @@ jQuery(document).ready(function(){
</div>
</div>