Oops. alright, thanks a lot.
On Sunday, February 16, 2014 4:58:06 PM UTC+2, Anthony wrote:
>
> You didn't update your controller code -- request.args(0) should now be
> request.vars.code.
>
> On Sunday, February 16, 2014 9:46:47 AM UTC-5, Avi A wrote:
>>
>> I mean that it displays the "searching...." (the "else" part) and the
>> query doesn't find it:
>>
>> org_code_name = db(db.t_orgs.f_org_code ==
>> request.args(0)).select(db.t_orgs.ALL)
>> if org_code_name:
>> ...................
>> else:
>> return 'searching......'
>>
>> if the password is just "123" it works. (and not 123!).
>>
>>
>> On Sunday, February 16, 2014 4:35:55 PM UTC+2, Anthony wrote:
>>>
>>> Sorry, should be encodeURIComponent. What do you mean it doesn't find it?
>>>
>>> On Sunday, February 16, 2014 8:52:06 AM UTC-5, Avi A wrote:
>>>>
>>>> This almost works (no error):
>>>> encodeURIComponent (without the "d").
>>>> But it doesn't find it....
>>>>
>>>> On Sunday, February 16, 2014 3:48:22 PM UTC+2, Avi A wrote:
>>>>>
>>>>> "ReferenceError: encodedURIComponent is not defined"
>>>>>
>>>>> How do I define it? Do I have to import something?
>>>>> Thanks.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Sunday, February 16, 2014 3:05:04 PM UTC+2, Avi A wrote:
>>>>>>
>>>>>> great, thanks .
>>>>>>
>>>>>> On Sunday, February 16, 2014 3:03:40 PM UTC+2, Niphlod wrote:
>>>>>>>
>>>>>>> and what you expected ? :-P
>>>>>>> you built your function to post to an url like
>>>>>>>
>>>>>>> /base_url/
>>>>>>> whatever_is_inserted_in_the_form_without_encoding_or_sanitization
>>>>>>>
>>>>>>> Not every url is a valid one (try opening /base_url/ì^'0=")....and
>>>>>>> its generally NOT safe doing what you're doing.
>>>>>>> User input in web applications needs to be either validated before
>>>>>>> or properly escaped.....usually you'd want base_url?something=
>>>>>>> escaped_value
>>>>>>> that you can retrieve later with response.vars.something
>>>>>>>
>>>>>>>
>>>>>>> On Sunday, February 16, 2014 1:36:17 PM UTC+1, Avi A wrote:
>>>>>>>>
>>>>>>>> All I see is:invalid request
>>>>>>>> rendered on the #org_form_target
>>>>>>>> #model
>>>>>>>> db.define_table('t_orgs',
>>>>>>>> Field('f_org_name', type='string',
>>>>>>>> label=T('Organization Name')),
>>>>>>>> Field('f_org_code', type='password',
>>>>>>>> label=T('Organization pasword')),
>>>>>>>> Field('org_api_key', length=64, type='string',
>>>>>>>> default=uuid.uuid4(), writable=False),
>>>>>>>> auth.signature,
>>>>>>>> format='%(f_org_name)s',
>>>>>>>> migrate=settings.migrate)
>>>>>>>>
>>>>>>>> db.define_table('t_orgs_archive', db.t_orgs,
>>>>>>>> Field('current_record', 'reference t_orgs',
>>>>>>>> readable=False, writable=False))
>>>>>>>>
>>>>>>>>
>>>>>>>> #controller:
>>>>>>>> def org_form_load():
>>>>>>>> org_code_name = db(db.t_orgs.f_org_code ==
>>>>>>>> request.args(0)).select(db.t_orgs.ALL)
>>>>>>>> if org_code_name:
>>>>>>>> db.t_org_members.f_org_rep.default = org_code_name[0].id
>>>>>>>> db.t_org_members.f_org_member.default = auth.user.id
>>>>>>>> label_org_name = 'Join ' + org_code_name[0].f_org_name + '
>>>>>>>> Organization'
>>>>>>>> form = SQLFORM(db.t_org_members, onupdate=auth.archive,
>>>>>>>> submit_button= label_org_name)
>>>>>>>> if form.process().accepted:
>>>>>>>> session.flash = 'Welcome to \'' +
>>>>>>>> org_code_name[0].f_org_name + '\' Organization!'
>>>>>>>> redirect(URL('default', 'api_key.html'),
>>>>>>>> client_side=True)
>>>>>>>> elif form.errors:
>>>>>>>> response.flash = 'response errors'
>>>>>>>> return dict(form=form, org_code_name=org_code_name)
>>>>>>>>
>>>>>>>> else:
>>>>>>>> return 'searching.....'
>>>>>>>>
>>>>>>>> #view
>>>>>>>> <div class="well well-sm">
>>>>>>>> <p>Type your organization code:</p>
>>>>>>>> <input id="org_code_input" onkeyup="org_code_value(this.value)">
>>>>>>>> {{else:}}
>>>>>>>> <h4>Organization api:</h4>
>>>>>>>> {{=my_org_data[0].t_orgs.org_api_key}}
>>>>>>>> {{pass}}
>>>>>>>> <div id = "org_form_target"></div>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> <script type="text/javascript">
>>>>>>>>
>>>>>>>> function org_code_value(org_code)
>>>>>>>> {
>>>>>>>>
>>>>>>>> var url ="{{=URL('default', 'org_form_load.load')}}";
>>>>>>>> $.web2py.component(url + '/' + org_code, 'org_form_target');
>>>>>>>> }
>>>>>>>> </script>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sunday, February 16, 2014 2:17:31 PM UTC+2, Anthony wrote:
>>>>>>>>>
>>>>>>>>> What do you mean the form won't be accepted? Is it failing
>>>>>>>>> validation on the server when form.process() is called? Do you have
>>>>>>>>> an
>>>>>>>>> IS_STRONG validator defined? What is happening with the Ajax call in
>>>>>>>>> the
>>>>>>>>> browser? Please show some more code an explain exactly what is
>>>>>>>>> happening.
>>>>>>>>>
>>>>>>>>> On Sunday, February 16, 2014 5:52:04 AM UTC-5, Avi A wrote:
>>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>> I created a table with a password field.
>>>>>>>>>> I got an ajax (web2py component) form where a user fill the
>>>>>>>>>> password, and if it's OK, it does something.
>>>>>>>>>> It works fine, but the problem is that if I use for example "!"
>>>>>>>>>> in the password field , the form won't be accepted.
>>>>>>>>>> Is there a solution for that? I would like to allow any char that
>>>>>>>>>> won't break the javascript.
>>>>>>>>>>
>>>>>>>>>> db.define_table('t_orgs',
>>>>>>>>>> Field('f_org_name', type='string',
>>>>>>>>>> label=T('Organization Name')),
>>>>>>>>>> Field('f_org_code', type='password',
>>>>>>>>>> .......................
>>>>>>>>>>
>>>>>>>>>> <p>Type your organization code:</p>
>>>>>>>>>> <input id="org_code_input"
>>>>>>>>>> onkeyup="org_code_value(this.value)">
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> $.web2py.component(url + '/' + org_code, 'org_form_target');
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks.
>>>>>>>>>>
>>>>>>>>>
--
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.