eventually we should use a fancier design, for example tabs.
On Jan 4, 4:48 pm, "mr.freeze" <[email protected]> wrote: > You may want to change the order of the nav menu on the right to > reflect it being at the bottom now: > [ models | controllers | views | modules | languages | static ] > > Also, you could get fancy and make the 'Design for' heading (or add a > '+/-' link if you want it more noticeable) expand/contract all of the > sections at once: > <h1 onclick="collapse('models_inner');collapse('views_inner');collapse > ('controllers_inner');collapse('languages_inner');collapse > ('static_inner');collapse('modules_inner');">Design for "{{=app}}"</ > h1> > > On Jan 4, 4:12 pm, mdipierro <[email protected]> wrote: > > > in trunk. removed a couple of lines from scaffolding code. Thanks. > > > Massimo > > > On Jan 4, 3:55 pm, "mr.freeze" <[email protected]> wrote: > > > > Hehe...You should have it now. > > > > On Jan 4, 3:49 pm, mdipierro <[email protected]> wrote: > > > > > please email me the patch as an attachment. Thanks. > > > > > Massimo > > > > > On Jan 4, 3:35 pm, "mr.freeze" <[email protected]> wrote: > > > > > > I would like to propose a patch to add a modules section to the admin > > > > > app. It would have create, upload, edit and delete. It would add a > > > > > generic set of import statements to a newly created file. > > > > > > Also I would like to change the admin upload behavior to use the > > > > > filename from the upload if a 'rename' value isn't provided. The > > > > > patch would look something like this: > > > > > > Index: applications/admin/controllers/default.py > > > > > =================================================================== > > > > > --- applications/admin/controllers/default.py (revision 618) > > > > > +++ applications/admin/controllers/default.py (working copy) > > > > > @@ -430,10 +430,12 @@ > > > > > if items: extend[c]=items[0][1] > > > > > items=regex_include.findall(data) > > > > > include[c]=[i[1] for i in items] > > > > > + modules=listdir(apath('%s/modules/' % app), '.*\.py$') > > > > > + modules.sort() > > > > > statics=listdir(apath('%s/static/' % app),'[^\.#].*') > > > > > statics.sort() > > > > > languages=listdir(apath('%s/languages/' % app), '[\w-]*\.py') > > > > > - return dict > > > > > (app=app,models=models,defines=defines,controllers=controllers,functions=functions,views=views,extend=extend,include=include,statics=statics,languages=languages) > > > > > + return dict > > > > > (app=app,models=models,defines=defines,controllers=controllers,functions=functions,views=views,modules=modules,extend=extend,include=include,statics=statics,languages=languages) > > > > > > def create_file(): > > > > > @@ -461,6 +463,12 @@ > > > > > if len(filename)==5: raise SyntaxError > > > > > text="{{extend 'layout.html'}}\n<h1>%s</h1>\n{{=BEAUTIFY > > > > > (response._vars)}}" % \ > > > > > T('This is the %(filename)s template',dict > > > > > (filename=filename)) > > > > > + elif path[-9:]=='/modules/': > > > > > + if not filename[-3:]=='.py': filename+='.py' > > > > > + if len(filename)==3: raise SyntaxError > > > > > + text="from gluon.storage import Storage\nfrom gluon.html > > > > > import *\nfrom gluon.http import *\n" > > > > > + text+="from gluon.validators import *\nfrom gluon.sqlhtml > > > > > import *\nfrom gluon.contrib.markdown import WIKI\n" > > > > > + text+="try: from gluon.contrib.gql import SQLTable > > > > > \nexcept ImportError: from gluon.sql import SQLTable\nimport > > > > > traceback" > > > > > elif path[-8:]=='/static/': > > > > > text="" > > > > > else: > > > > > @@ -480,7 +488,8 @@ > > > > > """ admin controller function """ > > > > > try: > > > > > path=apath(request.vars.location) > > > > > - filename=re.sub('[^\w\./]+','_',request.vars.filename) > > > > > + if request.vars.filename: filename=re.sub('[^\w\./] > > > > > +','_',request.vars.filename) > > > > > + else: filename=os.path.split(request.vars.file.filename)[-1] > > > > > if path[-8:]=='/models/' and not filename[-3:]=='.py': > > > > > filename+='.py' > > > > > if path[-13:]=='/controllers/' and not filename[-3:]=='.py': > > > > > filename+='.py' > > > > > if path[-7:]=='/views/' and not filename[-5:]=='.html': > > > > > filename+='.html' > > > > > Index: applications/admin/views/default/design.html > > > > > =================================================================== > > > > > --- applications/admin/views/default/design.html (revision 618) > > > > > +++ applications/admin/views/default/design.html (working copy) > > > > > @@ -30,6 +30,7 @@ > > > > > [ <a href="#models">models</a> > > > > > | <a href="#controllers">controllers</a> > > > > > | <a href="#views">views</a> > > > > > +| <a href="#modules">modules</a> > > > > > | <a href="#languages">languages</a> > > > > > | <a href="#static">static</a> ]</div> > > > > > <br/> > > > > > @@ -85,6 +86,22 @@ > > > > > </ul> > > > > > </div> > > > > > > +<h2 id="modules" onclick="collapse('modules_inner');">Modules</h2> > > > > > +<div id="modules_inner"><i>additional code for your application</i> > > > > > +<br/><br/> > > > > > +{{if not modules:}} > > > > > +There are no modules > > > > > +{{pass}} > > > > > +<ul> > > > > > +{{for m in modules:}}<li>{{=peekfile('modules',m)}} > > > > > +[ {{=editfile('modules',m)}} | > > > > > +<a href="/{{=request.application}}/default/delete/{{=app}}/modules/ > > > > > {{=m}}?sender={{=request.function}}/{{=app}}">delete</a> ] > > > > > +</li>{{pass}} > > > > > +<li>{{=file_create_form('%s/modules/' % app)}}</li> > > > > > +<li>{{=file_upload_form('%s/modules/' % app)}}</li> > > > > > +</ul> > > > > > +</div> > > > > > + > > > > > <h2 id="languages" onclick="collapse('languages_inner');">Languages</ > > > > > h2> > > > > > <div id="languages_inner"><i>translation strings for the > > > > > application</ > > > > > i> > > > > > <br/><br/> > > > > > > If Chuck Norris did web development, he would use web2py.- Hide > > > > > quoted text - > > > > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" 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 -~----------~----~----~----~------~----~------~--~---

