I have gone one more step in trying to isolate the problem. Given the 
existence of models/[menu.py, db.py] in the previous post, when 
default-fail.py is copied to controllers/default.py, the sub-menus DO NOT 
show up when hovered over. 

However, when default-welcome209.py is copied to controllers/default.py, 
the sub-menus DO INDEED show up when hovered over.

Here is default-fail.py
# -*- coding: utf-8 -*-

#ContactUs
def update_t_contactus00():
    return dict(form=crud.update(db.t_contactus00, request.args(0)))
    
#Appointment
def update_t_appointment00():
    return dict(form=crud.update(db.t_appointment00, request.args(0)))

indexMM = '''## Stock Forms for Web2py
### Background
While using the web2py App Wizard, I got frustrated at needing to define 
the model for a
"Contact Us" form for the *90 millionth time*. So, i made a suggestion in 
code.google/p/web2py
in Issue 982. **Massimo liked the idea and said, "If you have done work in 
this direction feel free to post a patch."**

'''    
        
def index():
    """
    example action using the internationalization operator T and flash
    rendered by views/default/index.html or views/generic.html

    if you need a simple wiki simple replace the two lines below with:
    return auth.wiki()
    """
    #response.flash = T("Welcome to web2py!")
    #return dict(message=T('Hello World'))
    return dict(message=MARKMIN(indexMM))


Here is default-welcome209.py

# -*- coding: utf-8 -*-
# this file is released under public domain and you can use without 
limitations

#########################################################################
## This is a samples controller
## - index is the default action of any application
## - user is required for authentication and authorization
## - download is for downloading files uploaded in the db (does streaming)
## - call exposes all registered services (none by default)
#########################################################################

def index():
    """
    example action using the internationalization operator T and flash
    rendered by views/default/index.html or views/generic.html

    if you need a simple wiki simple replace the two lines below with:
    return auth.wiki()
    """
    response.flash = T("Welcome to web2py!")
    return dict(message=T('Hello World'))

def user():
    """
    exposes:
    http://..../[app]/default/user/login
    http://..../[app]/default/user/logout
    http://..../[app]/default/user/register
    http://..../[app]/default/user/profile
    http://..../[app]/default/user/retrieve_password
    http://..../[app]/default/user/change_password
    use @auth.requires_login()
        @auth.requires_membership('group name')
        @auth.requires_permission('read','table name',record_id)
    to decorate functions that need access control
    """
    return dict(form=auth())


def download():
    """
    allows downloading of uploaded files
    http://..../[app]/default/download/[filename]
    """
    return response.download(request,db)


def call():
    """
    exposes services. for example:
    http://..../[app]/default/call/jsonrpc
    decorate with @services.jsonrpc the functions to expose
    supports xml, json, xmlrpc, jsonrpc, amfrpc, rss, csv
    """
    return service()


@auth.requires_signature()
def data():
    """
    http://..../[app]/default/data/tables
    http://..../[app]/default/data/create/[table]
    http://..../[app]/default/data/read/[table]/[id]
    http://..../[app]/default/data/update/[table]/[id]
    http://..../[app]/default/data/delete/[table]/[id]
    http://..../[app]/default/data/select/[table]
    http://..../[app]/default/data/search/[table]
    but URLs must be signed, i.e. linked with
      A('table',_href=URL('data/tables',user_signature=True))
    or with the signed load operator
      
LOAD('default','data.load',args='tables',ajax=True,user_signature=True)
    """
    return dict(form=crud())


Thanks for the help.

Love and peace,

Joe

-- 



Reply via email to