default.py @auth.requires_login() def load_home(): loader = """$('#right-side').html("<i style='font-size:24px;' class='fa fa-spinner fa-spin'></i>")""" websocket_send('http://127.0.0.1:8888', loader, 'mykey', 'home%s' % auth.user.id) remove_class1 = "$('#bk').removeClass('active')" #books remove_class2 = "$('#ls').removeClass('active')" #lecture slides remove_class3 = "$('#pq').removeClass('active')" #past questions remove_class4 = "$('#cs').removeClass('active')" #courses remove_class5 = "$('#bl').removeClass('active')" #blogs remove_class6 = "$('#nt').removeClass('active')" #notes remove_class7 = "$('#fr').removeClass('active')" #friends add_class = "$('#hm').addClass('active')" #home websocket_send('http://127.0.0.1:8888', remove_class1, 'mykey', 'home%s' % auth.user.id) websocket_send('http://127.0.0.1:8888', remove_class2, 'mykey', 'home%s' % auth.user.id) websocket_send('http://127.0.0.1:8888', remove_class3, 'mykey', 'home%s' % auth.user.id) websocket_send('http://127.0.0.1:8888', remove_class4, 'mykey', 'home%s' % auth.user.id) websocket_send('http://127.0.0.1:8888', remove_class5, 'mykey', 'home%s' % auth.user.id) websocket_send('http://127.0.0.1:8888', remove_class6, 'mykey', 'home%s' % auth.user.id) websocket_send('http://127.0.0.1:8888', remove_class7, 'mykey', 'home%s' % auth.user.id) websocket_send('http://127.0.0.1:8888', add_class, 'mykey', 'home%s' % auth.user.id)
message = """<section class='content'><br/><div class='row'><div class='col-md-4'><div class='grid box-profile bg-red'><div class='grid-body'><img src='%s' class='img-circle' alt='User Profile'><h3>%s</h3><span>Lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod</span></div><div class='footer clearfix bg-red'><div class='col-xs-4'><div class='grid-body full'><h3><i class='fa fa-facebook-square'></i> 823k</h3></div></div><div class='col-xs-4'><div class='grid-body full'><h3><i class='fa fa-twitter'></i> 402k</h3></div></div><div class='col-xs-4'><div class='grid-body full'><h3><i class='fa fa-linkedin-square'></i> 97k</h3></div></div></div></div></div> <div class='col-md-8 pull-right'><div class='grid'><div class='grid-header'><img style='height:30px;' src='%s' class='img-polaroid pull-left' alt='User Profile'><span class='grid-title'>Status</span></div><div class='grid-body' id='sf'></div></div></div></div></section>""" % (URL('download', args=[auth.user.profile_picture]) if auth.user.profile_picture else "../static/nb/html/assets/img/logo.png", auth.user.full_name, URL('download', args=[auth.user.profile_picture]) if auth.user.profile_picture else "../static/nb/html/assets/img/logo.png") message = message.strip().replace("'", '"') message = message.strip().replace("\n", "") message = message.strip().replace("\r", "") message = message.strip().replace("\t", "") message = "$('#right-side').html($('%s').fadeIn('slow').slideDown('slow'))" % message websocket_send('http://127.0.0.1:8888', message, 'mykey', 'home%s' % auth.user.id) form = LOAD(c='default', f='statusform', ajax=True, content=XML('<i style="font-size:24px;" class="fa fa-cog fa-spin"></i>')) form = "$('#sf').html($('%s').fadeIn('slow').slideDown('slow'))" % form websocket_send('http://127.0.0.1:8888', form, 'mykey', 'home%s' % auth.user.id) def statusform(): status = crud.create(db.statuses) msg = status.element('textarea', _name="status") msg['_class'] = "form-control" msg['_style'] = "height: 40px; width:45vw; margin-bottom:5px;" user_id = status.element('input', _name='user_id') user_id['_type'] = 'hidden' user_id['_value'] = auth.user.id submit = status.element('input', _type="submit") submit['_class'] = "btn btn-primary pull-right" submit['_value'] = "Post" if status.process().accepted: userPic=db(db.auth_user.id==request.post_vars.user_id).select().first().profile_picture now = prettydate(datetime.datetime.now()) message1 = """<div class="col-md-8 pull-right" style="width:51.9vw;"><div class="grid"><div class="grid-header"><img style="height:30px; width: 30px;" src="%s" class="img-polaroid pull-left" alt="User Profile"><span class="grid-title">%s</span><div class="pull-right grid-tools"><a data-widget="collapse" title="Collapse">%s</a></div></div><div class="grid-body">%s</div></div></div>""" % (URL('download', args=[userPic]) if userPic else "../static/nb/html/assets/img/logo.png", db(db.auth_user.id == request.post_vars.user_id).select().first().full_name, now, request.post_vars.status) message1 = message1.strip().replace("\n", "<br/>") message1 = message1.strip().replace("\r", "") script1 = """$('#statuses1').prepend($('%s').fadeIn('slow').slideDown('slow'))""" % message1 script2 = "$('#statuses1').show('slow')" message2 = """<div class="col-md-8 pull-right" style="width:95vw;"><div class="grid"><div class="grid-header"><img style="height:30px; width: 30px;" src="%s" class="img-polaroid pull-left" alt="User Profile"><span class="grid-title">%s</span><div class="pull-right grid-tools"><a data-widget="collapse" title="Collapse">%s</a></div></div><div class="grid-body">%s</div></div></div>""" % (URL('download', args=[userPic]) if userPic else "../static/nb/html/assets/img/logo.png", db(db.auth_user.id == request.post_vars.user_id).select().first().full_name, now, request.post_vars.status) message2 = message2.strip().replace("\n", "<br/>") message2 = message2.strip().replace("\r", "") script3 = """$('#statuses2').prepend($('%s').fadeIn('slow').slideDown('slow'))""" % message2 script4 = "$('#statuses2').show('slow')" websocket_send('http://127.0.0.1:8888', script1, 'mykey', 'mygroup') websocket_send('http://127.0.0.1:8888', script2, 'mykey', 'mygroup') websocket_send('http://127.0.0.1:8888', script3, 'mykey', 'mygroup') websocket_send('http://127.0.0.1:8888', script4, 'mykey', 'mygroup') return status home.html <ul class="sidebar-menu"> <li class="active" id="hm" onclick="ajax('load_home', [], 'mmmm');"> <a href="#"> <i class="fa fa-home"></i><span>Home</span> </a> </li> ... </ul> ... <aside class="right-side" id="right-side"> </aside> I'm using ajax to call the function *load_home* and load_home is supposed to return a form using LOAD with ajax=True. The normal home function in the controller returns form using LOAD with ajax=True and that works just fine. But now I'm also using websocket_messaging.py to load parts of the page for navigation without whole page reloads, chats, etc. I'm trying to use the same mechanism to reload the home page when the "Home" link is clicked. The problem here is that when I use ajax=False in the load_home function form = LOAD(c='default', f='statusform', ajax=False, content=XML('<i style="font-size:24px;" class="fa fa-cog fa-spin"></i>')) The form appears just fine (but even that when someone submits the form, it doesn't save the details in the db), but when ajax=True form = LOAD(c='default', f='statusform', ajax=True, content=XML('<i style="font-size:24px;" class="fa fa-cog fa-spin"></i>')) The cog icon keeps spinning. How can I accomplish what I'm aiming at... -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.