def project_list(request, template_name="im/projects/project_list.html"): query = api.make_project_query({}) show_base = request.GET.get('show_base', False) # exclude base projects by default for admin users if not show_base and request.user.is_project_admin(): query = query & ~Q(Q(is_base=True) & \ ~Q(realname="system:%s" % request.user.uuid)) query = query & ~Q(state__in=Project.HIDDEN_STATES) mode = "default" if not request.user.is_project_admin(): mode = "related" projects = api._get_projects(query, mode=mode, request_user=request.user) table = None if projects.count(): table = get_user_projects_table(projects, user=request.user, prefix="my_projects_", request=request) context = {'is_search': False, 'table': table} return ListViewExtra.as_view(template_name=template_name, queryset=projects, extra_context=context)(request)
def project_search(request): q = request.GET.get('q', '') form = ProjectSearchForm() q = q.strip() if request.method == "POST": form = ProjectSearchForm(request.POST) if form.is_valid(): q = form.cleaned_data['q'].strip() else: q = None if q is None: projects = Project.objects.none() else: query = ~Q(state=Project.DELETED) projects = api._get_projects(query, mode="active", request_user=request.user) table = get_user_projects_table(projects, user=request.user, prefix="my_projects_") if request.method == "POST": table.caption = _('SEARCH RESULTS') else: table.caption = _('ALL PROJECTS') return ListViewExtra.as_view( queryset=projects, template_name='im/projects/project_list.html', extra_context={ 'form': form, 'is_search': True, 'q': q, 'table': table })(request)
def project_search(request): q = request.GET.get('q', '') form = ProjectSearchForm() q = q.strip() if request.method == "POST": form = ProjectSearchForm(request.POST) if form.is_valid(): q = form.cleaned_data['q'].strip() else: q = None if q is None: projects = Project.objects.none() else: query = ~Q(state=Project.DELETED) projects = api._get_projects(query, mode="active", request_user=request.user) table = get_user_projects_table(projects, user=request.user, prefix="my_projects_") if request.method == "POST": table.caption = _('SEARCH RESULTS') else: table.caption = _('ALL PROJECTS') return object_list(request, projects, template_name='im/projects/project_list.html', extra_context={ 'form': form, 'is_search': True, 'q': q, 'table': table })
def project_list(request, template_name="im/projects/project_list.html"): query = api.make_project_query({}) show_base = request.GET.get('show_base', False) # exclude base projects by default for admin users if not show_base and request.user.is_project_admin(): query = query & ~Q(Q(is_base=True) & \ ~Q(realname="system:%s" % request.user.uuid)) query = query & ~Q(state__in=Project.SKIP_STATES) mode = "default" if not request.user.is_project_admin(): mode = "related" projects = api._get_projects(query, mode=mode, request_user=request.user) table = None if projects.count(): table = get_user_projects_table(projects, user=request.user, prefix="my_projects_", request=request) context = {'is_search': False, 'table': table} return object_list(request, projects, template_name=template_name, extra_context=context)