Esempio n. 1
0
def sitewide(request):
    """Variables that need to be inserted into all templates.
    """
    # logout redirect - chop off edit/new/batch URLs if present
    logout_next = '?'.join([request.META['PATH_INFO'], request.META['QUERY_STRING']])
    if logout_next.find('edit') > -1:    logout_next = logout_next.split('edit')[0]
    elif logout_next.find('new') > -1:   logout_next = logout_next.split('new')[0]
    elif logout_next.find('batch') > -1: logout_next = logout_next.split('batch')[0]
    
    elasticsearch_url = 'http://%s:%s' % (
        request.META['HTTP_HOST'], settings.DOCSTORE_HOSTS[0]['port']
    )
    return {
        'request': request,
        # ddr-local info
        'time': datetime.now().isoformat(),
        'pid': os.getpid(),
        'host': os.uname()[1],
        'ddrcmdln_commit': settings.DDRCMDLN_COMMIT,
        'ddrlocal_commit': settings.DDRLOCAL_COMMIT,
        'models_valid': repo_models_valid(request),
        # user info
        'username': request.session.get('idservice_username', None),
        'git_name': request.session.get('git_name', None),
        'git_mail': request.session.get('git_mail', None),
        'celery_tasks': session_tasks_list(request),
        'celery_status_url': reverse("webui-task-status"),
        'supervisord_url': settings.SUPERVISORD_URL,
        'elasticsearch_url': elasticsearch_url,
        'munin_url': settings.MUNIN_URL,
        'logout_next': logout_next,
        'idservice_url': settings.IDSERVICE_API_BASE,
        'manual_url': settings.MANUAL_URL,
    }
Esempio n. 2
0
def tasks( request ):
    """Show pending/successful/failed tasks; UI for dismissing tasks.
    """
    # add start datetime to tasks list
    celery_tasks = session_tasks_list(request)
    for task in celery_tasks:
        task['startd'] = datetime.strptime(task['start'], settings.TIMESTAMP_FORMAT)

    if request.method == 'POST':
        form = TaskDismissForm(request.POST, celery_tasks=celery_tasks)
        if form.is_valid():
            for task in celery_tasks:
                fieldname = 'dismiss_%s' % task['task_id']
                if (fieldname in form.cleaned_data.keys()) and form.cleaned_data[fieldname]:
                    dismiss_session_task(request, task['task_id'])
            # redirect
            redirect_uri = form.cleaned_data['next']
            if not redirect_uri:
                redirect_uri = reverse('webui-index')
            return HttpResponseRedirect(redirect_uri)
    else:
        data = {
            'next': request.GET.get('next',None),
        }
        form = TaskDismissForm(data, celery_tasks=celery_tasks)
        dismissable_tasks = [1 for task in celery_tasks if task['dismissable']]
    return render_to_response(
        'webui/tasks.html',
        {'form': form,
         'celery_tasks': celery_tasks,
         'dismissable_tasks': dismissable_tasks,
         'hide_celery_tasks': True,},
        context_instance=RequestContext(request, processors=[])
    )
def sitewide(request):
    """Variables that need to be inserted into all templates.
    """
    # logout redirect - chop off edit/new/batch URLs if present
    logout_next = '?'.join([request.META['PATH_INFO'], request.META['QUERY_STRING']])
    
    if logout_next.find('edit') > -1:    logout_next = logout_next.split('edit')[0]
    elif logout_next.find('new') > -1:   logout_next = logout_next.split('new')[0]
    elif logout_next.find('batch') > -1: logout_next = logout_next.split('batch')[0]
    return {
        'request': request,
        # ddr-local info
        'time': datetime.now().isoformat(),
        'pid': os.getpid(),
        'host': os.uname()[1],
        'commit': COMMIT,
        # user info
        'username': request.session.get('username', None),
        'git_name': request.session.get('git_name', None),
        'git_mail': request.session.get('git_mail', None),
        'celery_tasks': session_tasks_list(request),
        'celery_status_url': reverse("webui-task-status"),
        'logout_next': logout_next,
        'workbench_url': settings.WORKBENCH_URL,
    }