here is scaffold

view script:

$(function(){
                var url  = '{{=URL()}}';
                            function onvalidate (d) {
                    if d.company_list {
                        // do popup here using d.company_list


                        //finally post user choice (that is stored in the 
`company` variable)
                                          $.post(url, {'company': company}
 ); 
                    }    
                    else{
                       // login failed - do error-popup 
                                    };
                
                };
                function onsubmit(){
                                   // grab 'user' and 'password' values and 
send it to `url` via ajax, response will be processed by `onvalidate` 
function
                                   ajax(url, ['user', 'password'], null , 
{success: onvalidate});
                    return false; // this prevents the page reloading
                };
                // intercept form submission
                $('form').submit(onsubmit);
});


controller.py:

def login():
    if request.ajax:
        if session.user and request.vars.company:
            #validate request.vars.company
            if company_is_valid:
                session.company = request.vars.company
                # do login using session.user
                redirect(URL(...), client_side = True)
            else:
                #user is playing with browser console:)
                return None
        elif request.vars.user:
            user = request.vars.user
            password = request.vars.password
            # do validatoin
            if is_valid:
                session.user = user
                return response.json(dict(company_list = ...))
            else:
                #validation fail
                return None # or somthing like response.json(dict(error = 
'invalid login'))
    else:
        return SQLFORM.factory(...).process()










On Wednesday, February 27, 2019 at 8:29:51 PM UTC+3, Ben Duncan wrote:
>
> Ok  a little more detail in  pseudo code:
>
> Display Login page:
> get user name and password.
> If form validates:
>    validate username and password
>    if username and password validates
>       popup company selection
>       get company 
>       redirect to next page
>    else
>       show "username password" error message
>       go back Display Login page: 
> else  # Forms did not pass validation ...
>       go back Display Login page: 
>
> That's the flow I'm used to using in CS software ...
>
>     Thanks ...
>
> *Ben Duncan*
> DBA / Chief Software Architect 
> Mississippi State Supreme Court
> Electronic Filing Division
>
>
> On Wed, Feb 27, 2019 at 6:53 AM Ben Duncan <linu...@gmail.com 
> <javascript:>> wrote:
>
>> What I was hoping to do was a javascript popup to to choose a company, 
>> then a redirect.
>> I load the company number and values in a session variables upon 
>> connection.
>>
>> The user id file can have a default company (court) assignment , in which 
>> case there would be no reason to do the popup, but
>> if the user had '0' in the company or was a super admin, it would do the 
>> popup for company (Court)
>>
>> Make sense ?
>>
>> *Ben Duncan*
>> DBA / Chief Software Architect 
>> Mississippi State Supreme Court
>> Electronic Filing Division
>>
>>
>> On Wed, Feb 27, 2019 at 2:51 AM Val K <valq...@gmail.com <javascript:>> 
>> wrote:
>>
>>> Hard to understand the workflow, do you want the user to be redirected 
>>> to choose the company after he has logged in? or he should make a choice 
>>> along the login form filling?
>>>
>>> -- 
>>> 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+un...@googlegroups.com <javascript:>.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to