How did you solve it? On Mon, Feb 15, 2021, 17:33 António Ramos <ramstei...@gmail.com> wrote:
> Thank you Jim but i found the problem. > My fault this time. > Thank you again. > > PS. Its just me or this forum is abandoned? Should i go elsewhere for help > ? > > Em seg., 15 de fev. de 2021 às 15:46, António Ramos <ramstei...@gmail.com> > escreveu: > >> Hi Jim >> Sorry but dont understand your suggestion. >> You mean auth.requires_login() on my restful function like this >> @auth.requires_login() ????? >> @request.restful() >> def uploadInvoice(): >> Does it make sense? Its going to be called by external script. >> Inside my uploadInvoice i have >> user = auth.login_bare("myuser", "pwd") and i can check that it returns >> the myuser ID. so before inserting a record it should know who the user is. >> >> I also have this code that i suspect that could get auth.signature in >> trouble. >> Please comment . >> >> >> db.entities._after_update.append(lambda s, f >> : wfFields().update_readers(db, 'entities', s, f)) >> db.entities._after_update.append(lambda s, f >> : wfFields().update_authors(db, 'entities', s, f)) >> db.entities._after_update.append(lambda s, f: extrafields_sync(s, f)) >> db.entities._after_insert.append(lambda f, id: extrafields_sync(db( >> db.entities.id==id), f)) >> >> Em seg., 15 de fev. de 2021 às 15:33, Jim S <ato.st...@gmail.com> >> escreveu: >> >>> Have you tried with an auth decorator? Maybe auth.requires_login()? >>> >>> -Jim >>> >>> On Saturday, February 13, 2021 at 3:33:01 PM UTC-6 Ramos wrote: >>> >>>> Anybody here? >>>> >>>> Em sex., 12 de fev. de 2021 às 23:57, António Ramos <ramst...@gmail.com> >>>> escreveu: >>>> >>>>> hello this is my model >>>>> db.define_table( >>>>> 'entities', >>>>> Field('uuid', length=64, default=lambda: str(uuid.uuid4())), >>>>> Field('entity', 'string',length=70,required=True, label=T("Entity" >>>>> )), >>>>> Field('description', length=100,label=T("Description"), default="" >>>>> ), >>>>> Field('status', db.status), >>>>> Field('type', 'reference dbentities', label=T("Type")), >>>>> Field('sub_type', "reference subtypes", label=T("Type")), >>>>> Field('event','string',length=10), >>>>> Field('trailevent', 'list:integer'), >>>>> Field("last_error", default=""), >>>>> Field('extrareaders', 'list:reference auth_user'), >>>>> Field('extrafield', db.extrafields, requires=IS_EMPTY_OR( >>>>> IS_IN_DB(db, 'extrafields.id', '%(extrafield)s'))), >>>>> Field('relatedto', 'reference entities', requires=IS_EMPTY_OR( >>>>> IS_IN_DB(db, 'entities.id', '%(entity)s'))), >>>>> Field('file', 'upload', label="Ficheiro"), >>>>> Field('valstart', 'date', label="Válido de", >>>>> default=datetime.datetime.utcnow()), >>>>> Field('valend', 'date', label="Válido até", >>>>> default=datetime.datetime.utcnow()), >>>>> Field('orderedat', 'float'), >>>>> Field('question','string'), >>>>> Field('qt','double'), >>>>> Field('units','string',length=5), >>>>> Field('readers', 'list:string', default=[""]),#friend uuid >>>>> Field('details','json'), >>>>> auth.signature, >>>>> format='%(type)s %(entity)s', >>>>> ) >>>>> >>>>> >>>>> I have auth.signature but this code >>>>> >>>>> @request.restful() >>>>> def uploadInvoice(): >>>>> import random >>>>> import string >>>>> response.view = 'generic.json' >>>>> >>>>> def POST(*args, **kw): >>>>> try: >>>>> user = auth.login_bare("userxxx", "xxxx") # so it has a >>>>> user >>>>> uploaded_file = kw['file'] >>>>> filename = >>>>> db.entities.file.store(uploaded_file, uploaded_file.filename) >>>>> id = db.entities.insert( >>>>> entity="Invoice", >>>>> type=db.dbentities(entity="Invoice")["id"], >>>>> status=DBTools().setStatus(db,"Draft", "Invoice"), >>>>> file=filename, >>>>> created_by=4, # even with this line it saves as None >>>>> modified_by=4, # even with this line it saves as None >>>>> description="") >>>>> if id: >>>>> eventid = db.events.insert( >>>>> event="Invoice", relatedto=id, type= >>>>> "Document added", receipts={},linktodoc=id >>>>> ) >>>>> db.entities[id]=dict(event=eventid) >>>>> return "ok" >>>>> >>>>> except Exception as e: >>>>> raise Exception('Error on line {}{}{}'.format( >>>>> sys.exc_info()[-1].tb_lineno, str(e), request.vars)) >>>>> return locals() >>>>> >>>>> does not fills the created_by and modified_by field. They have None >>>>> >>>>> Any help ??? >>>>> Regards >>>>> >>>>> -- >>> 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/022388a0-7a1a-405a-93e2-86498f18e334n%40googlegroups.com >>> <https://groups.google.com/d/msgid/web2py/022388a0-7a1a-405a-93e2-86498f18e334n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > 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/CAEM0BxPk1W%2B-6YL-m44JVaFWG1G1eRr5Tuk2h%3DtVSk5bRyi3kQ%40mail.gmail.com > <https://groups.google.com/d/msgid/web2py/CAEM0BxPk1W%2B-6YL-m44JVaFWG1G1eRr5Tuk2h%3DtVSk5bRyi3kQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- 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/CADHCKLQtny_4G65RnZpK1eZiWu2__hsqvLp-Fp_s3bvzPYqxQw%40mail.gmail.com.