Merge pull request #329 from ilvalle/create_view
a more harmonic create_file in admin editor
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
Reference in New Issue
Block a user