Hello Anthony,
I have no problem using generic.load view for now...
My problem is mostly related to the fact I use table name as args in my url
and without args 0 my function can't do anything...
That why I tried with extension='.load'
Here some code :
## CONTROLLER :
@auth.requires_login()
def create():
if request.args(0) in ref_tables_list:
redirection_argument=request.args(0)
if en_ui_tables_names[request.args(0)]!=None :
table_name = str.lower(en_ui_tables_names[request.args(0)])
else:
table_name = request.args(0).replace('ref_','')
page_title=T('Form for : ')
if auth.has_membership(auth.id_group('admin')):
crud.settings.formstyle='divs'
form = crud.create(db[request.args(0)])
elif auth.has_membership(auth.id_group('user1')):
crud.settings.formstyle='divs'
form = crud.create(db[request.args(0)])
elif auth.has_membership(auth.id_group('user2')):
crud.settings.formstyle='divs'
form = crud.create(db[request.args(0)])
else:
return
dict(form=None,page_title=page_title,table_name=table_name,\
not_allow_permission='you are not allow
(permission)',permission_denied='Permission denied')
if form.accepts(request.vars, session):
response.flash = T('form accepted')
redirect(URL(r=request, f='read/'+redirection_argument,args=
form.vars.id))
elif form.errors:
response.flash = T('form has errors')
else:
response.flash = T('please fill out the form')
return dict(form=form,page_title=page_title,table_name=table_name,\
not_allow_permission=None,permission_denied=None)
else:
redirect(URL(request.application,'default','index'))
session.flash = T('invalid request')
## VIEW :
{{extend 'layout.html'}}
<style type="text/css" title="currentStyle">
@import
"{{=URL('static','plugin_added/jquery-ui-1.8.9.custom/development-bundle/themes/base/jquery.ui.all.css')}}";
<!--<link rel="stylesheet" href="../../themes/base/jquery.ui.all.css">-->
@import
"{{=URL('static','plugin_added/jquery-ui-1.8.9.custom/development-bundle/demos/demos.css')}}";
<!--<link rel="stylesheet" href="../demos.css">-->
</style>
<script type="text/javascript" charset="utf-8"
src="{{=URL('static','plugin_added/jquery-ui-1.8.9.custom/js/jquery-1.4.4.min.js')}}"></script>
<!--<script src="../../jquery-1.4.4.js"></script>-->
<script type="text/javascript" charset="utf-8"
src="{{=URL('static','plugin_added/jquery-ui-1.8.9.custom/development-bundle/ui/jquery.ui.core.js')}}"></script>
<!--<script src="../../ui/jquery.ui.core.js"></script>-->
<script type="text/javascript" charset="utf-8"
src="{{=URL('static','plugin_added/jquery-ui-1.8.9.custom/development-bundle/ui/jquery.ui.widget.js')}}"></script>
<!--<script src="../../ui/jquery.ui.widget.js"></script>-->
<script type="text/javascript" charset="utf-8"
src="{{=URL('static','plugin_added/jquery-ui-1.8.9.custom/development-bundle/ui/jquery.ui.tabs.js')}}"></script>
<!--<script src="../../ui/jquery.ui.tabs.js"></script>-->
<script>
$(function() {
$( "#tabs" ).tabs();
});
</script>
<div class="demo">
<div id="tabs">
<ul>
<li><a href="#tabs-1">{{=T('folder').capitalize()}}</a></li>
<li><a href="#tabs-2">{{=T('volume').capitalize()}}</a></li>
<li><a href="#tabs-3">{{=T('tome').capitalize()}}</a></li>
<li><a href="#tabs-4">{{=T('report').capitalize()}}</a></li>
</ul>
<div id="tabs-1">
{{if form!=None:}}
<h2>{{=page_title}} {{=T(table_name)}}</h2>
<br/>
{{=form}}
{{else:}}
{{=permission_denied}}
<br/>
{{=not_allow_permission}}
{{pass}}
{{pass}}
</div>
<div id="tabs-2">
test2
</div>
<div id="tabs-3">
test3
</div>
<div id="tabs-4">
{{=LOAD(c='ref',f='create',args='ref_eregistry',extension='.load',ajax=True)}}
</div>
</div>
</div><!-- End demo -->
Thanks for your help.
Richard
On Mon, Apr 4, 2011 at 3:08 PM, Anthony <[email protected]> wrote:
> I'm not sure if this is your only problem, but isn't it supposed to be
> extension='load' rather than extension='.load'? Also, have you actually
> created a 'myfunction.load' view file (inside the /views/mycontroller/
> folder)? If not, web2py should attempt to use the 'generic.load' view.
>
> Anthony
>
> On Monday, April 4, 2011 2:46:53 PM UTC-4, Richard wrote:
>
>> Hello,
>>
>> It seems that I have to modified completly my app to make it work with
>> components, I would just like to confirm it...
>>
>> Here a my url : myapp/mycontroller/myfunction/mytable or args 0
>>
>> When I try
>>
>>
>> {{=LOAD(c='mycontroller',f='myfunction',args='mytable',extension='.load',ajax=True)}}
>>
>> It keeps loading... for ever.
>>
>> It seems that if ".load" is not applied to myfunction.load it can't
>> work... If I try : myfunction.load and args=mytable noting better happen.
>>
>> Thanks
>>
>> Richard
>>
>