'Volunteer Management'

@staticmethod
def vol():

    s3 = current.session.s3
    ADMIN = s3.system_roles.ADMIN
    is_org_admin = (lambda i: ((s3.hrm.orgs and True) or (ADMIN in s3.roles)))
    settings = current.deployment_settings
    show_programmes = (lambda i: (settings.get_hrm_vol_experience() == 'programme'))
    show_tasks = (lambda i: (settings.has_module('project') and settings.get_project_mode_task()))
    skills = (lambda i: settings.get_hrm_use_skills())
    certificates = (lambda i: settings.get_hrm_use_certificates())
    teams = settings.get_hrm_teams()
    use_teams = (lambda i: teams)
    show_staff = (lambda i: settings.get_hrm_show_staff())
    return M(c='vol')(M('Volunteers', f='volunteer', m='summary')(M('Create', m='create'), M('Search    by    skills', f='competency', check=skills), M('Import', f='person', m='import', vars={'group': 'volunteer'}, p='create')), M('Staff    &    Volunteers    (Combined)', c='vol', f='human_resource', m='summary', check=show_staff), M(teams, f='group', check=use_teams)(M('Create', m='create'), M('Search    Members', f='group_membership'), M('Import', f='group_membership', m='import')), M('Department    Catalog', f='department')(M('Create', m='create')), M('Volunteer    Role    Catalog', f='job_title')(M('Create', m='create')), M('Skill    Catalog', f='skill')(M('Create', m='create')), M('Training    Events', f='training_event')(M('Create', m='create'), M('Search    Training    Participants', f='training'), M('Import    Participant    List', f='training', m='import')), M('Training    Course    Catalog', f='course')(M('Create', m='create')), M('Certificate    Catalog', f='certificate', check=certificates)(M('Create', m='create')), M('Programs', f='programme', check=show_programmes)(M('Create', m='create'), M('Import    Hours', f='programme_hours', m='import')), M('Reports', f='volunteer', m='report')(M('Volunteer    Report', m='report'), M('Hours    by    Role    Report', f='programme_hours', m='report', vars={'rows': 'job_title_id', 'cols': 'month', 'fact': 'sum(hours)'}, check=show_programmes), M('Hours    by    Program    Report', f='programme_hours', m='report', vars={'rows': 'programme_id', 'cols': 'month', 'fact': 'sum(hours)'}, check=show_programmes), M('Training    Report', f='training', m='report')))
