Merge pull request #329 from ilvalle/create_view

a more harmonic create_file in admin editor
This commit is contained in:
mdipierro
2013-12-14 10:23:28 -08:00
2 changed files with 15 additions and 28 deletions

View File

@@ -1379,10 +1379,10 @@ def create_file():
safe_write(full_filename, text)
log_progress(app, 'CREATE', filename)
if request.vars.dir:
result = T('file "%(filename)s" created',
result = T('file "%(filename)s" created',
dict(filename=full_filename[len(path):]))
else:
session.flash = T('file "%(filename)s" created',
else:
session.flash = T('file "%(filename)s" created',
dict(filename=full_filename[len(path):]))
vars = {}
if request.vars.id:
@@ -1391,13 +1391,20 @@ def create_file():
vars['app'] = request.vars.app
redirect(URL('edit',
args=[os.path.join(request.vars.location, filename)], vars=vars))
except Exception, e:
if not isinstance(e, HTTP):
session.flash = T('cannot create file')
if request.vars.dir:
id_filename = '#' + request.vars.dir + '__' + filename.replace('.','__') + ' a'
return response.json({'result':result, 'id_filename':id_filename})
response.flash = result
response.headers['web2py-component-content'] = 'append'
response.headers['web2py-component-command'] = """
$.web2py.invalidate('#files_menu');
load_file('%s');
$.web2py.enableElement($('#form form').find($.web2py.formInputClickSelector));
""" % URL('edit', args=[app,request.vars.dir,filename])
return ''
else:
redirect(request.vars.sender + anchor)

View File

@@ -240,35 +240,13 @@ $(document).on('click', 'a.font_button', function (e) {
<div id="form">
<div>
{{=file_create_form('%s/' % app, '')}}
<script>
$("#btn_file_create").click(function() {
$.ajax({
type: "POST",
url: "{{=URL('create_file')}}",
data: jQuery("#file_create_form").serialize(),
dataType: 'JSON',
success: function(data){
$(".flash").html(data["result"]);
$(".flash").show();
$.ajax({
type: "POST",
url: "{{=URL('files_menu', vars={'app':app})}}",
success: function(html_data){
$("#files_menu").html(html_data);
$(data['id_filename']).click();
}
});
}});
return false;
});
</script>
</div>
</div>
<script>jQuery('#form').slideToggle()</script>
</div>
<br />
<div id="files_menu">
{{=LOAD('default', 'files_menu', vars={'app':app})}}
{{=LOAD('default', 'files_menu', vars={'app':app}, ajax=True)}}
</div>
</ul>
</div>
@@ -318,6 +296,8 @@ $(document).ready(function() {
var ow = filesMenu.outerWidth();
filesMenu.width(ow);
$('#files').css('left', '-'+ow+'px');
$.web2py.trap_form('url', 'form');
$('#form form').addClass('no_trap'); // Let to reuse the same form
});
</script>
<!-- Typeahead scripts here so the page load faster -->