Example #1
0
def dashboard(request):
    """
    The Dashboard view for registered users, showing their file and job status.
    There are detailed views for managing files, jobs and tools as well.
    """
    max_files = settings.DASHBOARD_MAX_FILES if settings.DASHBOARD_MAX_FILES else 5
    max_jobs = settings.DASHBOARD_MAX_JOBS if settings.DASHBOARD_MAX_JOBS else 5

    file_list = use_api.listFiles(user_id=request.user.id)
    job_list = use_api.listJobs(user_id=request.user.id)

    more = {
        "files" : file_list.count() > max_files ,
        "jobs" : job_list.count() > max_jobs,
        }
    if more["files"]:
        file_list = file_list[0:max_files]
    if more["jobs"]:
        job_list = job_list[0:max_jobs]
    tool_list = use_api.listTools()
    return render_to_response(
        'HomeLoggedIn.html',
        {
            "more"      : more,
            "file_list" : file_list,
            "job_list"  : job_list,
            "tool_list" : tool_list,
        },
        context_instance=RequestContext(request)
    )
Example #2
0
def list_tools(request):
    """
    Display a list of known tools
    There will be a link for a new Job, but generated for each Tool
    """
    tools = use_api.listTools()
    return render_to_response(
            'ListTools.html',
            {
                'tools' : tools,
                'link'  : {
                    'home'  : reverse('dashboard'),
                    }
            },
            context_instance=RequestContext(request)
    )