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)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
)<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>Any help on this please ?
On Friday, February 28, 2020 at 9:29:01 PM UTC+3, Maurice Waka wrote: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.
Traceback (most recent call last):
File "/home/maurice/py4web/py4web/core.py", line 551, in wrapper
ret = func(*func_args, **func_kwargs)
File "/home/maurice/py4web/py4web/core.py", line 514, in wrapper
ret = obj.transform(ret)
File "/home/maurice/py4web/py4web/core.py", line 300, in transform
reader=Template.reader,
File "/home/maurice/.local/lib/python3.6/site-packages/yatl/template.py", line 968, in render
exec(code, context)
File "<string>", line 39, in <module>
TypeError: URL() got an unexpected keyword argument 'args'--
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 a topic in the Google Groups "web2py-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/web2py/cneqSQXGacE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to web2py+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/9fa18a69-4d5c-4339-896e-41ce795c2e96%40googlegroups.com.
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/CALkNK57StytFMf05toP5E1-tMVYDQqnEzkYC7zRMHXAC57simA%40mail.gmail.com.