Changes between Version 7 and Version 8 of BluePrintRESTImplementation


Ignore:
Timestamp:
01/01/09 02:01:05 (13 years ago)
Author:
Fran Boon
Comment:

Improved version (based on orgs): Require login to Create, Provide list_create functionality if logged_in

Legend:

Unmodified
Added
Removed
Modified
  • BluePrintRESTImplementation

    v7 v8  
    33{{{
    44# RESTful controller function
    5 # NB No login required:
    6 # Anonymous users can Read/Create
    7 # Authentication required for Update/Delete
    8 def shelter():
    9     table=db.cr_shelter
     5# Anonymous users can Read
     6# Authentication required for Create/Update/Delete
     7def organisation():
     8    table=db.or_organisation
    109    if request.args:
    1110        method=request.args[0]
     
    1514            item=t2.display(table)
    1615            response.view='display.html'
    17             title=T('Shelter Details')
    18             edit=A(T("Edit"),_href=t2.action('shelter',['update',t2.id]))
    19             list=A(T("List Shelters"),_href=t2.action('shelter'))
     16            title=T('Organisation Details')
     17            edit=A(T("Edit"),_href=t2.action('organisation',['update',t2.id]))
     18            list=A(T("List Organisations"),_href=t2.action('organisation'))
    2019            return dict(module_name=module_name,modules=modules,options=options,item=item,title=title,edit=edit,list=list)
    2120        except:
    2221            if method=="create":
    23                 t2.messages.record_created=T("Shelter added")
    24                 form=t2.create(table)
    25                 response.view='create.html'
    26                 title=T('Add Shelter')
    27                 list=A(T("List Shelters"),_href=t2.action('shelter'))
    28                 return dict(module_name=module_name,modules=modules,options=options,form=form,title=title,list=list)
     22                if t2.logged_in:
     23                    t2.messages.record_created=T("Organisation added")
     24                    form=t2.create(table)
     25                    response.view='create.html'
     26                    title=T('Add Organisation')
     27                    list=A(T("List Organisations"),_href=t2.action('organisation'))
     28                    return dict(module_name=module_name,modules=modules,options=options,form=form,title=title,list=list)
     29                else:
     30                    t2.redirect('login')
    2931            elif method=="display":
    3032                item=t2.display(table)
    3133                response.view='display.html'
    32                 title=T('Shelter Details')
    33                 edit=A(T("Edit"),_href=t2.action('shelter',['update',t2.id]))
    34                 list=A(T("List Shelters"),_href=t2.action('shelter'))
     34                title=T('Organisation Details')
     35                edit=A(T("Edit"),_href=t2.action('organisation',['update',t2.id]))
     36                list=A(T("List Organisations"),_href=t2.action('organisation'))
    3537                return dict(module_name=module_name,modules=modules,options=options,item=item,title=title,edit=edit,list=list)
    3638            elif method=="update":
    3739                if t2.logged_in:
    38                     t2.messages.record_modified=T("Shelter updated")
     40                    t2.messages.record_modified=T("Organisation updated")
    3941                    form=t2.update(table)
    4042                    response.view='update.html'
    41                     title=T('Edit Shelter')
    42                     list=A(T("List Shelters"),_href=t2.action('shelter'))
     43                    title=T('Edit Organisation')
     44                    list=A(T("List Organisations"),_href=t2.action('organisation'))
    4345                    return dict(module_name=module_name,modules=modules,options=options,form=form,title=title,list=list)
    4446                else:
     
    4648            elif method=="delete":
    4749                if t2.logged_in:
    48                     t2.messages.record_deleted=T("Shelter deleted")
    49                     t2.delete(table,next='shelter')
     50                    t2.messages.record_deleted=T("Organisation deleted")
     51                    t2.delete(table,next='organisation')
    5052                    return
    5153                else:
     
    5860        list=t2.itemize(table)
    5961        if list=="No data":
    60             list="No Shelters currently registered."
    61         response.view='list.html'
    62         title=T('List Shelters')
    63         subtitle=T('Shelters')
    64         add=A(T("Add Shelter"),_href=t2.action('shelter','create'))
    65         return dict(module_name=module_name,modules=modules,options=options,list=list,title=title,subtitle=subtitle,add=add)
     62            list="No Organisations currently registered."
     63        title=T('List Organisations')
     64        subtitle=T('Organisations')
     65        if t2.logged_in:
     66            form=t2.create(db.gis_feature)
     67            response.view='list_create.html'
     68            return dict(module_name=module_name,modules=modules,options=options,list=list,form=form,title=title,subtitle=subtitle)
     69        else:
     70            add=A(T("Add Organisation"),_href=t2.action('organisation','create'))
     71            response.view='list.html'
     72            return dict(module_name=module_name,modules=modules,options=options,list=list,title=title,subtitle=subtitle,add=add)
    6673}}}