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)
|
safe_write(full_filename, text)
|
||||||
log_progress(app, 'CREATE', filename)
|
log_progress(app, 'CREATE', filename)
|
||||||
if request.vars.dir:
|
if request.vars.dir:
|
||||||
result = T('file "%(filename)s" created',
|
result = T('file "%(filename)s" created',
|
||||||
dict(filename=full_filename[len(path):]))
|
dict(filename=full_filename[len(path):]))
|
||||||
else:
|
else:
|
||||||
session.flash = T('file "%(filename)s" created',
|
session.flash = T('file "%(filename)s" created',
|
||||||
dict(filename=full_filename[len(path):]))
|
dict(filename=full_filename[len(path):]))
|
||||||
vars = {}
|
vars = {}
|
||||||
if request.vars.id:
|
if request.vars.id:
|
||||||
@@ -1391,13 +1391,20 @@ def create_file():
|
|||||||
vars['app'] = request.vars.app
|
vars['app'] = request.vars.app
|
||||||
redirect(URL('edit',
|
redirect(URL('edit',
|
||||||
args=[os.path.join(request.vars.location, filename)], vars=vars))
|
args=[os.path.join(request.vars.location, filename)], vars=vars))
|
||||||
|
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
if not isinstance(e, HTTP):
|
if not isinstance(e, HTTP):
|
||||||
session.flash = T('cannot create file')
|
session.flash = T('cannot create file')
|
||||||
|
|
||||||
if request.vars.dir:
|
if request.vars.dir:
|
||||||
id_filename = '#' + request.vars.dir + '__' + filename.replace('.','__') + ' a'
|
response.flash = result
|
||||||
return response.json({'result':result, 'id_filename':id_filename})
|
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:
|
else:
|
||||||
redirect(request.vars.sender + anchor)
|
redirect(request.vars.sender + anchor)
|
||||||
|
|
||||||
|
|||||||
@@ -240,35 +240,13 @@ $(document).on('click', 'a.font_button', function (e) {
|
|||||||
<div id="form">
|
<div id="form">
|
||||||
<div>
|
<div>
|
||||||
{{=file_create_form('%s/' % app, '')}}
|
{{=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>
|
||||||
</div>
|
</div>
|
||||||
<script>jQuery('#form').slideToggle()</script>
|
<script>jQuery('#form').slideToggle()</script>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
<div id="files_menu">
|
<div id="files_menu">
|
||||||
{{=LOAD('default', 'files_menu', vars={'app':app})}}
|
{{=LOAD('default', 'files_menu', vars={'app':app}, ajax=True)}}
|
||||||
</div>
|
</div>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -318,6 +296,8 @@ $(document).ready(function() {
|
|||||||
var ow = filesMenu.outerWidth();
|
var ow = filesMenu.outerWidth();
|
||||||
filesMenu.width(ow);
|
filesMenu.width(ow);
|
||||||
$('#files').css('left', '-'+ow+'px');
|
$('#files').css('left', '-'+ow+'px');
|
||||||
|
$.web2py.trap_form('url', 'form');
|
||||||
|
$('#form form').addClass('no_trap'); // Let to reuse the same form
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<!-- Typeahead scripts here so the page load faster -->
|
<!-- Typeahead scripts here so the page load faster -->
|
||||||
|
|||||||
Reference in New Issue
Block a user