Thanks a lot. Will definitely take your advice. I always tell myself I will do all that change when the app is complete and I don't have more code to write then I'll rearrange everything, especially with the 'style' bit cos i'm just in a hurry to code-on-the-fly and see immediate change, but I never actually get to that point to make the changes.
Seeing as I need help and it's rather difficult to get the help because other devs can't understand easily what I've already done, it's just best that I do the change now and might as well just do the right thing while I'm at it. Thanks. On Friday, 10 April 2015 19:38:56 UTC+1, Derek wrote: > > I think you should look at your code a bit differently. > > For example, looking at your code, I have all this clutter, I can't tell > what it does because of all this visual noise. Not to mention that those > html and javascripts are probably not syntax hilighted in the editor (they > should be in their own files so you can have proper syntax hilighted). This > also helps with debugging efforts. > > When you want to change for example to remove facebook support and replace > that with google plus... you should be able to immediately know where that > is. CSS Classes should be assigned in the views. You can load views and > render them in your controller if you want. Views handle all html and your > css should be in your static files somewhere. You should never have to put > a 'style' attribute on anything if they are part of the right class, or > nested properly. > > On Thursday, April 9, 2015 at 7:25:24 PM UTC-7, sasogeek wrote: >> >> I guess I may still have an issue with understanding where to place the >> right code for whatever purpose, so long as the code I write makes sense >> and does what I want it to do, it all seems pretty fine with me... but I >> guess that's not good enough, things ought to be done the right way. I'm >> still learning. >> Thanks for pointing it out though. >> >> On Wednesday, 8 April 2015 20:50:56 UTC+1, Derek wrote: >>> >>> I don't have an answer, just a comment on the style... >>> >>> This is what you should not do - you're mixing the model, view, and >>> controller into an inconceivable mess. >>> >>> On Tuesday, April 7, 2015 at 7:11:58 AM UTC-7, sasogeek wrote: >>>> >>>> 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> >>>> >>>> <script> >>>> $(document).ready(function(){ >>>> var data; >>>> $.web2py.web2py_websocket('ws:// >>>> 127.0.0.1:8888/realtime/home{{=auth.user.id}} >>>> <http://127.0.0.1:8888/realtime/home%7B%7B=auth.user.id%7D%7D> >>>> ',function(e){data=eval('('+e.data+')')}); >>>> }); >>>> </script> >>>> >>>> >>>> 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, so that I have the form working just as though the >>>> home page was being loaded afresh.... if that makes sense.... >>>> >>>> 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.