{{extend 'layout.html'}} {{ import re regex_space = re.compile('\s+') def all(items): return reduce(lambda a,b:a and b,items,True) def peekfile(path,file,vars={},title=None): args=(path,file) if 'app' in vars else (app,path,file) return A(file.replace('\\\\','/'),_title=title,_href=URL('peek', args=args, vars=vars)) def editfile(path,file,vars={}): args=(path,file) if 'app' in vars else (app,path,file) return A(T('Edit'),_class='btn small rounded black',_href=URL('edit', args=args, vars=vars)) def testfile(path,file): return A(I(_class="fa fa-cog"),**{ '_class':'btn small rounded black', '_data-tooltip':T("Run tests in this file (to run all files, you may also use the but\ ton labelled 'test')")}) def editlanguagefile(path,file,vars={}): return A(T('Edit'),_class='button editbutton btn rounded small',_href=URL('edit_language', args=(app, path, file), vars=vars)) def editpluralsfile(path,file,vars={}): return A(T('Edit'),_class='button editbutton btn rounded small',_href=URL('edit_plurals', args=(app, path, file), vars=vars)) def file_upload_form(location, anchor=None): form=FORM( LABEL(T("upload file:")), INPUT(_type="file",_name="file"), LABEL(T("and rename it:")), INPUT(_type="text",_name="filename",requires=IS_NOT_EMPTY(),_class=""), DIV(TAG['BUTTON'](T("Upload"),_type="submit",_class="btn"),_class="controls"), INPUT(_type="hidden",_name="location",_value=location), INPUT(_type="hidden",_name="token",_value=session.token), INPUT(_type="hidden",_name="sender",_value=URL('design',args=app, anchor=anchor)), _action=URL('upload_file'), _class="generatedbyw2p well well-small") return form def file_create_form(location, anchor=None, helptext=""): form=FORM( LABEL(T("create file with filename:")), INPUT(_type="text",_name="filename",requires=IS_NOT_EMPTY(),_class=''), TAG['SMALL'](helptext,_class="help-block"), DIV(TAG['BUTTON'](T("Create"),_type="submit",_class="btn"),_class="controls"), INPUT(_type="hidden",_name="location",_value=location), INPUT(_type="hidden",_name="sender",_value=URL('design',args=app)), INPUT(_type="hidden",_name="token",_value=session.token), INPUT(_type="hidden",_name="id",_value=anchor), _action=URL('create_file'), _class="generatedbyw2p well well-small") return form def upload_plugin_form(app, anchor=None): form=FORM( LABEL(T("upload plugin file:")), INPUT(_type="file",_name="pluginfile"), INPUT(_type="hidden",_name="id",_value=anchor), INPUT(_type="hidden",_name="token",_value=session.token), DIV(TAG['BUTTON'](T("Upload"),_type="submit",_class="btn"),_class="controls"), _class="generatedbyw2p well well-small") return form def deletefile(arglist, vars={}): vars.update({'sender':request.function+'/'+app}) return A(I(_class='fa fa-trash'),_class="red rounded small btn", _href=URL('delete',args=arglist,vars=vars)) }} {{block sectionclass}}design{{end}}

{{=T("Edit application")}} "{{=A(app,_href=URL(app,'default','index'),_target="_blank")}}"

top {{if not models:}}

{{=T("There are no models")}}

{{else:}}
{{=button(URL(a=app,c='appadmin',f='index'), T('database administration'))}} {{if os.access(os.path.join(request.folder,'..',app,'databases','sql.log'),os.R_OK):}} {{=button(URL('peek/%s/databases/sql.log'%app), 'sql.log')}} {{pass}} {{=button(URL(a=app, c='appadmin',f='graph_model'), T('graph model'))}}
{{pass}}
{{ controller_functions=[] for c in controllers: controller_functions+=[c[:-3]+'/%s.html'%x for x in functions[c]] }}
top {{if not controllers:}}

{{=T("There are no controllers")}}

{{else:}}
{{=button(URL(r=request,c='shell',f='index',args=app), T("shell"))}} {{=button(URL('test',args=app), T("test"))}} {{=button(URL('edit',args=[app,'cron','crontab']), T("crontab"))}}
{{pass}}
top {{if not views:}}

{{=T("There are no views")}}

{{else:}}
{{=button(LAYOUTS_APP, T("Download layouts from repository"))}}
{{pass}}
top {{if not languages:}}

{{=T("There are no translators, only default language is supported")}}

{{else:}}
{{=button(URL('update_languages/'+app), T('update all languages'))}}
{{pass}}
top {{if not statics:}}

{{=T("There are no static files")}}

{{else:}} {{pass}}
top {{if not modules:}}

{{=T("There are no modules")}}

{{else:}} {{pass}}
top {{if not privates:}}

{{=T("There are no private files")}}

{{else:}}
top {{if plugins:}} {{else:}}

{{=T('There are no plugins')}}

{{pass}}
{{=button(URL(c="default", f="plugins", args=[app,]), T('Download plugins from repository'))}}