Changes between Version 37 and Version 38 of BluePrintRESTImplementation


Ignore:
Timestamp:
01/30/09 22:37:01 (13 years ago)
Author:
Fran Boon
Comment:

Update for Auth

Legend:

Unmodified
Added
Removed
Modified
  • BluePrintRESTImplementation

    v37 v38  
    113113        representation="html"
    114114   
     115    # Is user logged-in?
     116    logged_in = auth.is_logged_in()
     117   
    115118    if len(request.args)==0:
    116119        # No arguments => default to List (or list_create if logged_in)
    117120        if session.s3.audit_read:
    118121            db.s3_audit.insert(
    119                 person=t2.person_id,
     122                person=auth.user.id,
    120123                operation='list',
    121124                module=request.controller,
     
    125128            )
    126129        if representation=="html":
    127             if t2.logged_in and deletable:
    128                 if extra:
    129                     db[table].represent=lambda table:shn_list_item(table,resource='%s' % resource,action='display',extra="TD(db(db.gis_projection.id==%i).select()[0].%s),TD(INPUT(_type='checkbox',_class='delete_row',_name='%s',_id='%i'))" % (table.id,extra,resource,table.id))
    130                 else:
    131                     db[table].represent=lambda table:shn_list_item(table,resource='%s' % resource,action='display',extra="INPUT(_type='checkbox',_class='delete_row',_name='%s' % resource,_id='%i' % table.id)")
    132             else:
    133                 if extra:
    134                     db[table].represent=lambda table:shn_list_item(table,resource='%s' % resource,action='display',extra="db(db.gis_projection.id==%i).select()[0].%s" % (table.id,extra))
    135                 else:
    136                     db[table].represent=lambda table:shn_list_item(table,resource='%s' % resource,action='display')
     130            shn_represent(table,resource,deletable,extra)
    137131            list=t2.itemize(table)
    138132            if not list:
     
    140134            title=s3.crud_strings.title_list
    141135            subtitle=s3.crud_strings.subtitle_list
    142             if t2.logged_in and listadd:
     136            if logged_in and listadd:
    143137                # Display the Add form below List
    144138                if deletable:
     
    171165                return dict(module_name=module_name,modules=modules,options=options,list=list,title=title,subtitle=subtitle,add_btn=add_btn)
    172166        elif representation=="ajax":
    173             if t2.logged_in and deletable:
    174                 if extra:
    175                     db[table].represent=lambda table:shn_list_item(table,resource='%s' % resource,action='display',extra="TD(db(db.gis_projection.id==%i).select()[0].%s),TD(INPUT(_type='checkbox',_class='delete_row',_name='%s',_id='%i'))" % (table.id,extra,resource,table.id))
    176                 else:
    177                     db[table].represent=lambda table:shn_list_item(table,resource='%s' % resource,action='display',extra="INPUT(_type='checkbox',_class='delete_row',_name='%s' % resource,_id='%i' % table.id)")
    178             else:
    179                 if extra:
    180                     db[table].represent=lambda table:shn_list_item(table,resource='%s' % resource,action='display',extra="db(db.gis_projection.id==%i).select()[0].%s" % (table.id,extra))
    181                 else:
    182                     db[table].represent=lambda table:shn_list_item(table,resource='%s' % resource,action='display')
     167            shn_represent(table,resource,deletable,extra)
    183168            list=t2.itemize(table)
    184169            if not list:
     
    206191        else:
    207192            session.error=T("Unsupported format!")
    208             redirect(URL(r=request,f=resource))
     193            redirect(URL(r=request))
    209194    else:
    210195        method=str.lower(request.args[0])
     
    213198            if session.s3.audit_read:
    214199                db.s3_audit.insert(
    215                     person=t2.person_id,
     200                    person=auth.user.id,
    216201                    operation='read',
    217202                    representation=representation,
     
    281266            else:
    282267                session.error=T("Unsupported format!")
    283                 redirect(URL(r=request,f=resource))
     268                redirect(URL(r=request))
    284269        else:
    285270            if method=="create":
    286                 if t2.logged_in:
     271                if logged_in:
    287272                    if session.s3.audit_write:
    288273                        audit_id=db.s3_audit.insert(
    289                             person=t2.person_id,
     274                            person=auth.user.id,
    290275                            operation='create',
    291276                            representation=representation,
     
    332317                    else:
    333318                        session.error=T("Unsupported format!")
    334                         redirect(URL(r=request,f=resource))
    335                 else:
    336                     t2.redirect('login',vars={'_destination':'%s/create' % resource})
     319                        redirect(URL(r=request))
     320                else:
     321                    redirect(URL(r=request,c='default',f='user',args='login',vars={'_next':URL(r=request,c=module,f=resource,args='create')}))
    337322            elif method=="display":
    338                 t2.redirect(resource,args=t2.id)
     323                redirect(URL(r=request,args=t2.id))
    339324            elif method=="update":
    340                 if t2.logged_in:
     325                if logged_in:
    341326                    if session.s3.audit_write:
    342327                        old_value = []
     
    378363                    else:
    379364                        session.error=T("Unsupported format!")
    380                         redirect(URL(r=request,f=resource))
    381                 else:
    382                     t2.redirect('login',vars={'_destination':'%s/update/%i' % (resource,t2.id)})
     365                        redirect(URL(r=request))
     366                else:
     367                    redirect(URL(r=request,c='default',f='user',args='login',vars={'_next':URL(r=request,c=module,f=resource,args=['update',t2.id])}))
    383368            elif method=="delete":
    384                 if t2.logged_in:
     369                if logged_in:
    385370                    if session.s3.audit_write:
    386371                        old_value = []
     
    389374                            old_value.append(field+':'+str(_old_value[field]))
    390375                        db.s3_audit.insert(
    391                             person=t2.person_id,
     376                            person=auth.user.id,
    392377                            operation='delete',
    393378                            representation=representation,
     
    404389                        t2.delete(table,next=resource)
    405390                else:
    406                     t2.redirect('login',vars={'_destination':'%s/delete/%i' % (resource,t2.id)})
     391                    redirect(URL(r=request,c='default',f='user',args='login',vars={'_next':URL(r=request,c=module,f=resource,args=['delete',t2.id])}))
    407392            elif method=="search":
    408393                if session.s3.audit_read:
    409394                    db.s3_audit.insert(
    410                         person=t2.person_id,
     395                        person=auth.user.id,
    411396                        operation='search',
    412397                        module=request.controller,
     
    416401                    )
    417402                if representation=="html":
    418                     if t2.logged_in and deletable:
     403                    if logged_in and deletable:
    419404                        db[table].represent=lambda table:shn_list_item(table,resource='%s' % resource,action='display',extra="INPUT(_type='checkbox',_class='delete_row',_name='%s' % resource,_id='%i' % table.id)")
    420405                    else:
     
    432417                else:
    433418                    session.error=T("Unsupported format!")
    434                     redirect(URL(r=request,f=resource))
     419                    redirect(URL(r=request))
    435420            else:
    436421                session.error=T("Unsupported method!")
    437                 redirect(URL(r=request,f=resource))
     422                redirect(URL(r=request))
    438423}}}
    439424