I'm still learning a lot from py4web.....especially not being a programmer 
myself, and I appreciate a lot from the help I get from you ALL. 

Anyway, I managed o create the tables and controller functions but I note 
that I'm not able to post to the database, at the same time, I cant see the 
messages on the index page..this code works well in web2py. I hope I have 
posted all relevant info.

My codes are as follows:
Controller:


import requests
from . common import *
from pydal.validators import *
from datetime import datetime, timedelta, date
from py4web.utils.auth import Auth
from py4web.utils.form import Form, FormStyleBulma
from py4web.utils.publisher import Publisher, ALLOW_ALL_POLICY
from .common import db, session, T, cache, auth, logger, authenticated, 
unauthenticated
from py4web import action, request, DAL, Field, Session, Cache, user_in, 
abort, redirect, URL, Translator
from pydal.validators import IS_NOT_EMPTY, IS_INT_IN_RANGE, IS_IN_SET, 
IS_IN_DB, IS_EMAIL, IS_MATCH
from yatl.helpers import A, TEXTAREA, INPUT, TR, TD, TABLE, DIV, LABEL, FORM
, SELECT, OPTION, P, H1, H2, H3, H4, H5, HTML, BODY, META


auth = Auth(session, db)
# (configure here)
auth.enable()


@authenticated()
@action.uses(db, session, T, auth.user)
def index():
    codes = []
    del codes[:]
    r = []
    yesterday = datetime.utcnow() - timedelta(days=1)
    db(db.answers.modified_on < yesterday).delete()
    form = FORM(INPUT(_name='message'), INPUT(_type='submit'))
    if request.POST.vars:
        r.append(request.POST.message)
        codes.append(r[0])
        #db.posts.insert(message=codes[0])
        rows = db(db.posts.author== auth.user_id).select()
        for row in rows:
            row.update_record(message=codes[0])
    ...more code
    reports = 'wellness_main.report()' #data from modules
    name3 = request.POST.message #string from user
    db.answers.insert(quest=name3, message = report())

    replies = db(db.answers.author == auth.user_id).select(db.answers.ALL, 
orderby=db.answers.created_on)[-7:-1] # show the last few posts from the 
table
    return dict(name3=name3, reports=reports, replies=replies)

Models:

from datetime import datetime, timedelta, date
from py4web import action, request, DAL, Field, Session, Cache, user_in
from py4web.utils.auth import Auth
from py4web import action, request, abort, redirect, URL, Field
from py4web.utils.form import Form, FormStyleBulma
from py4web.utils.publisher import Publisher, ALLOW_ALL_POLICY
from pydal.validators import IS_NOT_EMPTY, IS_INT_IN_RANGE, IS_IN_SET, 
IS_IN_DB, IS_EMAIL, IS_MATCH
from yatl.helpers import INPUT, H1, HTML, BODY, A
from pydal.validators import *
from . common import db, session, T, cache, authenticated, unauthenticated, 
Field




# exposes services necessary to access the db.thing via ajax
publisher = Publisher(db, policy=ALLOW_ALL_POLICY)
# define session and cache objects
session = Session(secret="some secret")
cache = Cache(size=1000)


auth = Auth(session, db)

# (configure here)
auth.enable()


db.define_table('posts',
                Field('author', 'reference auth_user', default=auth.user_id, 
writable=False, readable=False),
                Field("message", 'text', requires=IS_NOT_EMPTY(), notnull=
False),
                auth.signature

                )
db.define_table('answers',
                Field('author', 'reference auth_user', default=auth.user_id, 
readable=False, writable=False),
                Field('quest', 'text', requires=IS_NOT_EMPTY(),),
                Field("message", 'text', requires=IS_NOT_EMPTY(),),
                Field('posted_on','datetime', default=datetime.utcnow()),
                auth.signature
                )

View...index.html

N/B
This is part of a long html, js code:

<ul class="messages">
    [[for reply in replies:]]
    <li class="message right appeared">
        <div>[[=reply.modified_on]]</div>
        <div class="text_wrapper">
            <div class="text">[[=XML(reply.quest, sanitize=True)]]</div>   
                 
        </div>
    </li>
    <li class="message left appeared">
        <div>[[=reply.posted_on]]</div>
        <div class="col-md-1 col-lg-2"></div>
        <div class = "col-md-10 col-lg-8">
            <div class="text_wrapper">
                <!--div class="readmore"-->                                
                <div style="font-family: 'Josefin Slab';font-size: 1.2em; 
color: black;">
                    <a href="#" id="[[=reply.id]]-show" class="showLink" 
style=" color:#38D9D6;font-size:18px;"onclick="showHide('[[=reply.id]]');
return false;">Read answer</a>
                    <div id="[[=reply.id]]" style="background: #EFF2F2; 
height: 0px; overflow: hidden; transition: height 2s; -moz-transition: 
height 2s; -webkit-transition: height 2s; -o-transition: height 2s;"class=
"more">                                    
                        <div id="text-content"style="text-align: justify; 
font-weight: lighter; line-height:1.4; hyphens: manual; word-wrap: break-
word;color:black;font-size: 16px;">[[=XML(reply.message, sanitize=True)]]
                        </div>
                        
                    </div> 
                    
                </div>
                [[pass]]
            </div>
        </div>
        <div class="col-md-1 col-lg-2"></div>
    </li>
</ul>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/e15ac33e-4812-4a0f-b2d0-668eb272bf94%40googlegroups.com.

Reply via email to