*index.html*
bla bla bla...
<div class="span12">
 {{=LOAD('default','maintxt.load',target='chat')}}
 <div id="chat"></div>
bla bla bla...

maintxt.load
{{=form}}

{{for msg in msgList:}}

<b>{{=msg.body}} </b>
 <a id="link{{=msg.id}}" 
onclick="web2py_component('{{=URL('replies.load',args=[str(msg.id)])}}','target{{=str(msg.id)}}');">show
 
thread and reply</a><br>

<div id="target{{=msg.id}}"></div>

{{pass}}

replies.load
{{for msg in replyList:}}

{{=LI(I(msg.body+' @ '+str(msg.submitdate), _class='risposta'))}} 

{{pass}}

{{=form2}}


CONTROLLER

@auth.requires_login()
def maintxt():
    db.shortmsg.authorId.default = auth.user.id
    db.shortmsg.authorName.default =auth.user.first_name
     
    form = SQLFORM(db.shortmsg)
    if form.process(session,formname='form_one').accepted:
        redirect('welcome')

    msgList = db(db.shortmsg.refSms==-1).select(db.shortmsg.ALL, 
orderby=db.shortmsg.submitdate)

    return dict(form=form, msgList = msgList)

@auth.requires_login()
def replies():
    TableSMS = db.shortmsg
    TableSMS.refSms.default = request.args(0)
    TableSMS.authorId.default = auth.user.id
    TableSMS.authorName.default =auth.user.first_name

    form2 = SQLFORM(TableSMS)
    if form2.process(formname='form_two').accepted:
        pass

    replyList = db( (TableSMS.refSms==request.args(0)) & 
(db.shortmsg.submitdate!=None)).select(db.shortmsg.body, 
db.shortmsg.submitdate);
   
    
    return dict(form2=form2, replyList=replyList)

MODEL
db.define_table('shortmsg',
    Field('body','text', requires=IS_NOT_EMPTY()),
    Field('submitdate','datetime', default = request.now, readable= False, 
writable=False),
    Field('refSms','integer',default=-1, readable = False, writable = 
False),
    Field('authorName','string',default='Anonymous', 
requires=IS_NOT_EMPTY(), readable = False, writable = False),
    Field('authorId','integer', requires=IS_NOT_EMPTY(), readable = False, 
writable = False))


Il giorno giovedì 7 marzo 2013 13:35:23 UTC, Richard ha scritto:
>
> Could you show more code, controller for both component and the views 
> associated
>
> Richard
>
>
> On Wed, Mar 6, 2013 at 4:49 PM, Riccardo C <r.cecc...@gmail.com<javascript:>
> > wrote:
>
>> Thank you very much, that is exactly what I needed... I didn't know 
>> components!
>>
>> I have component related question know. 
>> I have a first component that generate the first form (form1) based on 
>> tableA and a second component that list all the post and a second form 
>> (form2) generate on the same tableA. 
>> Now in the firstcomponent.load file, I've included the second 
>> component...something along these lines:
>> {{=form1}}
>> load('controller','functionsecondcomponent','two')
>> <div id="two"><div>
>> And the i call this component in the main page "index.html".
>>
>> Everything is rendered correctly: form1 and form2 appears correctly but 
>> do not work has I was expected. If I submit through form2, the content of 
>> the post is correctly recorder in the tableA, if I try to use form1 it 
>> doesn't work. When I press the submit button the index.html is refreshed 
>> but without any effect on tableA. Any suggestions?
>>
>> Thanks a lot.
>>
>> Riccardo 
>>
>>
>>
>> Il giorno giovedì 28 febbraio 2013 21:47:46 UTC, Richard ha scritto:
>>>
>>> I don't understand your problem very well... Do you have a problem 
>>> refreshing the post? As far as I understand, you have write your own ajax 
>>> call to update the stuff in your page...
>>>
>>> You could try someting like that in your view (read about web2py LOAD() 
>>> and component) :
>>>
>>> # Your insert form
>>> {{=form}}
>>>
>>> {{=LOAD(..., yourFunctionThatListThePost, ...)}}
>>>
>>> You can then in you main function/page calling a refresh of you 
>>> component like that :
>>>
>>> if form.accepts(request.vars, session):
>>>     ...
>>>     response.js="web2py_component(**'%s','two');" % 
>>> URL('yourController','**yourFunctionThatListThePost', args='ifRequired')
>>>
>>>
>>> About web2py_component : 
>>>
>>> https://groups.google.com/d/**msg/web2py/RSDIwe8BDxA/**chcikCg0RpkJ<https://groups.google.com/d/msg/web2py/RSDIwe8BDxA/chcikCg0RpkJ>
>>>
>>>
>>> Hope it helps!
>>>
>>> Richard
>>>
>>>
>>> On Thu, Feb 28, 2013 at 1:30 PM, Riccardo C <r.cecc...@gmail.com> wrote:
>>>
>>>> Good evening, 
>>>>
>>>> I am trying to do a very simple 'twitter like' message board with the 
>>>> simple aim to learn to program and get used to web2py framework.
>>>> The problem is that I decided (I don't know if it is the best choice) 
>>>> to use one single table for both the new messages and the answers.
>>>>
>>>> What I do is showing on top of the index.html page, the form to 
>>>> introduce new messages and below all the new messages (without the 
>>>> answers) 
>>>> followed by a link associated with a ajax callback (replies.html).
>>>> This second function return to me all, if any, messages associated to 
>>>> 'main text' AND a form that is generated from the same table with the 
>>>> refSms field set (and not showed) to the id of the main message.
>>>>
>>>> What happens? when I reply to a message and I click on submit the page 
>>>> refresh without insert in the db the new row. Can someone help me to *
>>>> understand* what is wrong? 
>>>>
>>>> Thanks
>>>>
>>>>  -- 
>>>>  
>>>> --- 
>>>> 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+un...@**googlegroups.com.
>>>>
>>>> For more options, visit 
>>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>>> .
>>>>  
>>>>  
>>>>
>>>
>>>  -- 
>>  
>> --- 
>> 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+un...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>  
>>  
>>
>
>

-- 

--- 
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/groups/opt_out.


Reply via email to