I like it!
On Nov 3, 4:04 am, "Mr.Freeze" <[EMAIL PROTECTED]> wrote:
> I bugged Massimo with this but thought I should post here too. It's
> just a suggestion for a menu of quick links back to the models,views
> and controllers of the current application when editing a file. I
> flip back and forth between the views and controllers a lot so I also
> included a link to edit the corresponding controller when the file you
> are currently editing is a view. Here's what I came up with:
>
> In admin/controllers/default.py I changed the edit function:
> ----------------------------------------------------------------------------------
> def edit():
> """ admin controller function """
> filename='/'.join(request.args)
> if filename[-3:]=='.py': filetype='python'
> elif filename[-5:]=='.html': filetype='html'
> elif filename[-4:]=='.css': filetype='css'
> elif filename[-3:]=='.js': filetype='js'
> else: filetype='text'
> ### check if file is not there
> data=open(apath(filename),'r').read()
> try:
> data=request.vars.data.replace('\r\n','\n').strip()
> open(apath(filename),'w').write(data)
> response.flash=T("file saved on %
> (time)s",dict(time=time.ctime()))
> except Exception: pass
> ctrlr=None
> if filetype=='html' and request.args[2].lower().endswith('.html')
> == False:
> try:
>
> ctrlr=URL(r=request,f='edit',args=[request.args[0],'controllers',request.args[2]+'.py'])
> except:
> pass
> return
> dict(app=request.args[0],filename=filename,filetype=filetype,data=data,ctrlr=ctrlr)
>
> In admin/views/default/edit.html I added the menu:
> -----------------------------------------------------------------------
> {{extend 'layout.html'}}
> <script language="Javascript" type="text/javascript" src="/
> {{=request.application}}/static/edit_area/edit_area_full.js"></
> script><script language="Javascript" type="text/javascript">
> editAreaLoader.init({id: "body",start_highlight: true,allow_resize:
> "both",allow_toggle: true,language: "en",syntax:
> "{{=filetype}}",replace_tab_by_spaces: 4});
> </script>
>
> <h1>Editing file "{{=filename}}"</h1>
> [ {{=A("models",_href=URL(r=request,f='design',args=[app
> +'#models']))}}
> | {{=A("views",_href=URL(r=request,f='design',args=[app+'#views']))}}
> | {{=A("controllers",_href=URL(r=request,f='design',args=[app
> +'#controllers']))}}
> {{if ctrlr:}}
> | <a href="{{=ctrlr}}">edit this controller</a>
> {{pass}}]<hr/>
> <form action="/{{=request.application}}/default/edit/{{=filename}}"
> method="post">
> <input type="submit" value="save"/><br/>
> <textarea cols="80" rows="25" id="body" style="width: 100%;"
> name="data">{{=data}}</textarea>
> </form>
>
> --------------------------------
> Nothing ground-breaking but it helps me a bit. web2py rocks!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
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
-~----------~----~----~----~------~----~------~--~---