Exemplo n.º 1
0
def agent_index(request, response_format='html'):
    "All available Agents"

    if not request.user.profile.is_admin('anaf.services'):
        return user_denied(
            request,
            message=
            "You don't have administrator access to the Service Support module"
        )

    if request.GET:
        query = _get_filter_query(request.GET, ServiceAgent)
        agents = Object.filter_by_request(request,
                                          ServiceAgent.objects.filter(query))
    else:
        agents = Object.filter_by_request(request, ServiceAgent.objects)

    filters = AgentFilterForm(request.user.profile, '', request.GET)

    context = _get_default_context(request)
    context.update({'agents': agents, 'filters': filters})

    return render_to_response('services/agent_index',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 2
0
def queue_delete(request, queue_id, response_format='html'):
    "Queue delete"

    queue = get_object_or_404(TicketQueue, pk=queue_id)
    if not request.user.profile.has_permission(queue, mode='w'):
        return user_denied(request, message="You don't have access to this Queue")

    if request.POST:
        if 'delete' in request.POST:
            if 'trash' in request.POST:
                queue.trash = True
                queue.save()
            else:
                queue.delete()
            return HttpResponseRedirect(reverse('services_settings_view'))
        elif 'cancel' in request.POST:
            return HttpResponseRedirect(reverse('services_queue_view', args=[queue.id]))

    query = Q(queue=queue) & Q(status__hidden=False)
    tickets = Object.filter_by_request(request, Ticket.objects.filter(query))
    subqueues = Object.filter_by_request(
        request, TicketQueue.objects.filter(parent=queue))

    context = _get_default_context(request)
    context.update({'queue': queue,
                    'subqueues': subqueues,
                    'tickets': tickets})

    return render_to_response('services/queue_delete', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 3
0
def task_time_slot_add(request, task_id, response_format='html'):
    """Time slot add to preselected task"""

    task = get_object_or_404(Task, pk=task_id)
    if not request.user.profile.has_permission(task, mode='x'):
        return user_denied(request, message="You don't have access to this Task")

    if request.POST:
        task_time_slot = TaskTimeSlot(
            task=task, time_to=datetime.now(), user=request.user.profile)
        form = TaskTimeSlotForm(
            request.user.profile, task_id, request.POST, instance=task_time_slot)
        if 'cancel' in request.POST:
            return HttpResponseRedirect(reverse('projects_task_view', args=[task.id]))
        elif form.is_valid():
            task_time_slot = form.save()
            task_time_slot.set_user_from_request(request)
            return HttpResponseRedirect(reverse('projects_task_view', args=[task.id]))
    else:
        form = TaskTimeSlotForm(request.user.profile, task_id)

    subtasks = Object.filter_by_request(
        request, Task.objects.filter(parent=task))
    time_slots = Object.filter_by_request(
        request, TaskTimeSlot.objects.filter(task=task))

    context = _get_default_context(request)
    context.update({'form': form,
                    'task': task,
                    'subtasks': subtasks,
                    'time_slots': time_slots})

    return render_to_response('projects/task_time_add', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 4
0
def get_events(request):
    """Return a list of EventRenderers from available Tasks and Milestones"""
    events = []

    query = (Q(start_date__isnull=False)
             | Q(end_date__isnull=False)) & Q(status__hidden=False)
    tasks = Object.filter_by_request(request,
                                     manager=Task.objects.filter(query))
    for task in tasks:
        if task.end_date:
            event = EventRenderer(task.name, task.start_date, task.end_date,
                                  task.get_absolute_url())
        else:
            event = EventRenderer(task.name, None, task.start_date,
                                  task.get_absolute_url())
        event.css_class += " projects-calendar-task"
        events.append(event)

    query = (Q(start_date__isnull=False)
             | Q(end_date__isnull=False)) & Q(status__hidden=False)
    milestones = Object.filter_by_request(
        request, manager=Milestone.objects.filter(query))
    for milestone in milestones:
        name = "    " + milestone.name
        if milestone.end_date:
            event = EventRenderer(name, milestone.start_date,
                                  milestone.end_date,
                                  milestone.get_absolute_url())
        else:
            event = EventRenderer(name, None, milestone.start_date,
                                  milestone.get_absolute_url())
        event.css_class += " projects-calendar-milestone"
        events.append(event)

    return events
Exemplo n.º 5
0
def index_assigned(request, response_format='html'):
    """Tasks assigned to current user"""

    query = Q(parent__isnull=True, assigned=request.user.profile)
    if request.GET:
        if 'status' in request.GET and request.GET['status']:
            query = query & _get_filter_query(request.GET)
        else:
            query = query & Q(
                status__hidden=False) & _get_filter_query(request.GET)
    else:
        query = query & Q(status__hidden=False)

    tasks = Object.filter_by_request(request, Task.objects.filter(query))

    milestones = Object.filter_by_request(
        request, Milestone.objects.filter(status__hidden=False))
    filters = FilterForm(request.user.profile, 'assigned', request.GET)

    context = _get_default_context(request)
    context.update({'milestones': milestones,
                    'tasks': tasks,
                    'filters': filters})

    return render_to_response('projects/index_assigned', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 6
0
def index(request, response_format='html'):
    "All available tickets"

    if request.GET:
        if 'status' in request.GET and request.GET['status']:
            query = _get_filter_query(request.GET)
        else:
            query = Q(status__hidden=False) & _get_filter_query(request.GET)
        tickets = Object.filter_by_request(request,
                                           Ticket.objects.filter(query))
    else:
        tickets = Object.filter_by_request(
            request, Ticket.objects.filter(status__hidden=False))

    filters = FilterForm(request.user.profile, '', request.GET)

    context = _get_default_context(request)
    context.update({
        'tickets': tickets,
        'filters': filters,
    })

    return render_to_response('services/index',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 7
0
def queue_view(request, queue_id, response_format='html'):
    "Queue view"

    queue = get_object_or_404(TicketQueue, pk=queue_id)
    if not request.user.profile.has_permission(queue):
        return user_denied(request,
                           message="You don't have access to this Queue")

    query = Q(queue=queue)
    if request.GET:
        if 'status' in request.GET and request.GET['status']:
            query = query & _get_filter_query(request.GET)
        else:
            query = query & Q(status__hidden=False) & _get_filter_query(
                request.GET)
    else:
        query = query & Q(status__hidden=False)
    tickets = Object.filter_by_request(request, Ticket.objects.filter(query))

    filters = FilterForm(request.user.profile, 'queue', request.GET)
    subqueues = Object.filter_by_request(
        request, TicketQueue.objects.filter(parent=queue))

    context = _get_default_context(request)
    context.update({
        'queue': queue,
        'subqueues': subqueues,
        'filters': filters,
        'tickets': tickets
    })

    return render_to_response('services/queue_view',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 8
0
def get_events(request):
    """Return a list of EventRenderers from available Tasks and Milestones"""
    events = []

    query = (Q(start_date__isnull=False) | Q(end_date__isnull=False)) & Q(
        status__hidden=False)
    tasks = Object.filter_by_request(
        request, manager=Task.objects.filter(query))
    for task in tasks:
        if task.end_date:
            event = EventRenderer(
                task.name, task.start_date, task.end_date, task.get_absolute_url())
        else:
            event = EventRenderer(
                task.name, None, task.start_date, task.get_absolute_url())
        event.css_class += " projects-calendar-task"
        events.append(event)

    query = (Q(start_date__isnull=False) | Q(end_date__isnull=False)) & Q(
        status__hidden=False)
    milestones = Object.filter_by_request(
        request, manager=Milestone.objects.filter(query))
    for milestone in milestones:
        name = "    " + milestone.name
        if milestone.end_date:
            event = EventRenderer(name, milestone.start_date, milestone.end_date,
                                  milestone.get_absolute_url())
        else:
            event = EventRenderer(
                name, None, milestone.start_date, milestone.get_absolute_url())
        event.css_class += " projects-calendar-milestone"
        events.append(event)

    return events
Exemplo n.º 9
0
def task_delete(request, task_id, response_format='html'):
    """Task delete"""

    task = get_object_or_404(Task, pk=task_id)
    if not request.user.profile.has_permission(task, mode='w'):
        return user_denied(request, message="You don't have access to this Task")

    if request.POST:
        if 'delete' in request.POST:
            if 'trash' in request.POST:
                task.trash = True
                task.save()
            else:
                task.delete()
            return HttpResponseRedirect(reverse('projects_index'))
        elif 'cancel' in request.POST:
            return HttpResponseRedirect(reverse('projects_task_view', args=[task.id]))

    subtasks = Object.filter_by_request(
        request, Task.objects.filter(parent=task))
    time_slots = Object.filter_by_request(
        request, TaskTimeSlot.objects.filter(task=task))

    context = _get_default_context(request)
    context.update({'task': task,
                    'subtasks': subtasks,
                    'time_slots': time_slots})

    return render_to_response('projects/task_delete', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 10
0
def index_in_progress(request, response_format='html'):
    """A page with a list of tasks in progress"""

    query = Q(parent__isnull=True)
    if request.GET:
        query = query & Q(
            status__hidden=False) & _get_filter_query(request.GET)
    else:
        query = query & Q(status__hidden=False)

    tasks = Object.filter_by_request(request, Task.objects.filter(query))

    milestones = Object.filter_by_request(
        request, Milestone.objects.filter(status__hidden=False))
    filters = FilterForm(request.user.profile, 'status', request.GET)
    time_slots = Object.filter_by_request(
        request, TaskTimeSlot.objects.filter(time_from__isnull=False, time_to__isnull=True))

    context = _get_default_context(request)
    context.update({'milestones': milestones,
                    'tasks': tasks,
                    'filters': filters,
                    'time_slots': time_slots})

    return render_to_response('projects/index_in_progress', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 11
0
def contact_view(request, contact_id, attribute='', response_format='html'):
    "Contact view"

    contact = get_object_or_404(Contact, pk=contact_id)
    if not request.user.profile.has_permission(contact):
        return user_denied(request, message="You don't have access to this Contact")
    types = Object.filter_by_request(
        request, ContactType.objects.order_by('name'))

    subcontacts = Object.filter_by_request(request, contact.child_set)
    contact_values = contact.contactvalue_set.order_by('field__name')

    objects = get_contact_objects(
        request.user.profile, contact, preformat=True)

    module = None
    for key in objects:
        if not attribute and objects[key]['count']:
            # attribute = objects[key]['objects'].keys()[0]
            module = objects[key]['module']
        elif attribute in objects[key]['objects'].keys():
            module = objects[key]['module']
            break

    return render_to_response('identities/contact_view',
                              {'contact': contact,
                               'subcontacts': subcontacts,
                               'objects': objects,
                               'current_module': module,
                               'attribute': attribute,
                               'types': types,
                               'contact_values': contact_values},
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 12
0
def index_by_status(request, status_id, response_format='html'):
    """Sort tasks by status"""

    status = get_object_or_404(TaskStatus, pk=status_id)

    if not request.user.profile.has_permission(status):
        return user_denied(request, message="You don't have access to this Task Status")

    query = Q(parent__isnull=True, status=status)
    if request.GET:
        query = query & _get_filter_query(request.GET)
    tasks = Object.filter_by_request(request, Task.objects.filter(query))

    milestones = Object.filter_by_request(
        request, Milestone.objects.filter(task__status=status).distinct())
    filters = FilterForm(request.user.profile, 'status', request.GET)

    context = _get_default_context(request)
    context.update({'milestones': milestones,
                    'tasks': tasks,
                    'status': status,
                    'filters': filters})

    return render_to_response('projects/index_by_status', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 13
0
def queue_view(request, queue_id, response_format='html'):
    "Queue view"

    queue = get_object_or_404(TicketQueue, pk=queue_id)
    if not request.user.profile.has_permission(queue):
        return user_denied(request, message="You don't have access to this Queue")

    query = Q(queue=queue)
    if request.GET:
        if 'status' in request.GET and request.GET['status']:
            query = query & _get_filter_query(request.GET)
        else:
            query = query & Q(
                status__hidden=False) & _get_filter_query(request.GET)
    else:
        query = query & Q(status__hidden=False)
    tickets = Object.filter_by_request(request, Ticket.objects.filter(query))

    filters = FilterForm(request.user.profile, 'queue', request.GET)
    subqueues = Object.filter_by_request(
        request, TicketQueue.objects.filter(parent=queue))

    context = _get_default_context(request)
    context.update({'queue': queue,
                    'subqueues': subqueues,
                    'filters': filters,
                    'tickets': tickets})

    return render_to_response('services/queue_view', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 14
0
def _get_default_context(request):
    "Returns default context as a dict()"

    projects = Object.filter_by_request(request, Project.objects)
    statuses = Object.filter_by_request(request, TaskStatus.objects)
    massform = MassActionForm(request.user.profile)

    context = {'projects': projects,
               'statuses': statuses,
               'massform': massform}

    return context
Exemplo n.º 15
0
def contact_delete(request, contact_id, response_format='html'):
    "Contact delete"

    contact = get_object_or_404(Contact, pk=contact_id)
    if not request.user.profile.has_permission(contact, mode='w'):
        return user_denied(request,
                           message="You don't have access to this Contact")

    if request.POST:
        if 'delete' in request.POST:
            if 'trash' in request.POST:
                contact.trash = True
                contact.save()
            else:
                contact.delete()
            return HttpResponseRedirect(reverse('identities_index'))
        elif 'cancel' in request.POST:
            return HttpResponseRedirect(
                reverse('identities_contact_view', args=[contact.id]))

    types = Object.filter_by_request(request,
                                     ContactType.objects.order_by('name'))

    return render_to_response('identities/contact_delete', {
        'contact': contact,
        'types': types
    },
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 16
0
def settings_view(request, response_format='html'):
    "Settings"

    if not request.user.profile.is_admin('anaf.identities'):
        return user_denied(
            request,
            message="You are not an Administrator of the Identities module",
            response_format=response_format)

    contact_types = ContactType.objects.all().filter(trash=False)
    contact_fields = ContactField.objects.all().filter(trash=False)
    contacts = Object.filter_by_request(request,
                                        Contact.objects.order_by('name'))

    context = _get_default_context(request)
    context.update({
        'contact_types': contact_types,
        'contact_fields': contact_fields,
        'contacts': contacts
    })

    if request.POST and 'file' in request.FILES:
        csv_file = request.FILES['file']

        # TODO: check file extension
        content = csv_file.read()
        import_c = ProcessContacts()
        import_c.import_contacts(content)

        return HttpResponseRedirect(reverse('identities_index'))

    return render_to_response('identities/settings_view',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 17
0
def index_owned(request, response_format='html'):
    "Tickets owned by current user"

    context = _get_default_context(request)

    query = Q(caller__related_user=request.user.profile)
    if request.GET:
        if 'status' in request.GET and request.GET['status']:
            query = query & _get_filter_query(request.GET)
        else:
            query = query & Q(status__hidden=False) & _get_filter_query(
                request.GET)
    else:
        query = query & Q(status__hidden=False)

    tickets = Object.filter_by_request(request, Ticket.objects.filter(query))

    filters = FilterForm(request.user.profile, 'caller', request.GET)

    context.update({'tickets': tickets, 'filters': filters})

    return render_to_response('services/index_owned',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 18
0
def folder_delete(request, knowledgeType_id, response_format='html'):
    "Type delete"

    folder = get_object_or_404(KnowledgeFolder, pk=knowledgeType_id)
    items = Object.filter_by_request(
        request, manager=KnowledgeItem.objects.filter(folder=folder))

    if not request.user.profile.has_permission(folder, mode='w'):
        return user_denied(
            request, message="You don't have access to this Knowledge Type")

    if request.POST:
        if 'delete' in request.POST:
            if 'trash' in request.POST:
                folder.trash = True
                folder.save()
            else:
                folder.delete()
            return HttpResponseRedirect(reverse('knowledge_index'))
        elif 'cancel' in request.POST:
            return HttpResponseRedirect(
                reverse('knowledge_folder_view', args=[folder.treepath]))

    context = _get_default_context(request)
    context.update({'items': items, 'folder': folder})

    return render_to_response('knowledge/folder_delete',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 19
0
def milestone_delete(request, milestone_id, response_format='html'):
    """Milestone delete"""

    milestone = get_object_or_404(Milestone, pk=milestone_id)
    project = milestone.project
    if not request.user.profile.has_permission(milestone, mode='w'):
        return user_denied(request, message="You don't have access to this Milestone")

    query = Q(milestone=milestone, parent__isnull=True)
    if request.GET:
        query = query & _get_filter_query(request.GET)
    tasks = Object.filter_by_request(request, Task.objects.filter(query))

    if request.POST:
        if 'delete' in request.POST:
            if 'trash' in request.POST:
                milestone.trash = True
                milestone.save()
            else:
                milestone.delete()
            return HttpResponseRedirect(reverse('projects_index'))
        elif 'cancel' in request.POST:
            return HttpResponseRedirect(reverse('projects_milestone_view', args=[milestone.id]))

    context = _get_default_context(request)
    context.update({'milestone': milestone,
                    'tasks': tasks,
                    'project': project})

    return render_to_response('projects/milestone_delete', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 20
0
def status_view(request, status_id, response_format='html'):
    "Status view"

    status = get_object_or_404(ChangeSetStatus, pk=status_id)

    if not request.user.profile.has_permission(status) \
            and not request.user.profile.is_admin('anaf.changes'):
        return user_denied(request, "You don't have access to this Change Set Status.",
                           response_format=response_format)

    query = Q(object__in=Object.filter_by_request(request, Object.objects)) & Q(
        status=status)
    if request.GET:
        query = query & _get_filter_query(request.GET)
        filters = FilterForm(request.user.profile, 'status', request.GET)
    else:
        filters = FilterForm(request.user.profile, 'status')

    changesets = ChangeSet.objects.filter(query)

    context = _get_default_context(request)
    context.update({'status': status,
                    'changesets': changesets,
                    'filters': filters})

    return render_to_response('changes/status_view', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 21
0
def type_edit(request, type_id, response_format='html'):
    "ItemType edit"

    item_type = get_object_or_404(ItemType, pk=type_id)
    if not request.user.profile.has_permission(item_type, mode='w'):
        return user_denied(request, message="You don't have access to this Item Type",
                           response_format=response_format)
    infrastructure = Object.filter_by_request(request,
                                              Item.objects.filter(item_type=item_type).order_by('name'))

    if request.POST:
        if 'cancel' not in request.POST:
            form = ItemTypeForm(
                request.user.profile, request.POST, instance=item_type)
            if form.is_valid():
                item_type = form.save(request)
                return HttpResponseRedirect(reverse('infrastructure_type_view', args=[item_type.id]))
        else:
            return HttpResponseRedirect(reverse('infrastructure_type_view', args=[item_type.id]))
    else:
        form = ItemTypeForm(request.user.profile, instance=item_type)

    context = _get_default_context(request)
    context.update({'infrastructure': infrastructure,
                    'form': form,
                    'item_type': item_type})

    return render_to_response('infrastructure/item_type_edit', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 22
0
def task_status_delete(request, status_id, response_format='html'):
    """TaskStatus delete"""

    status = get_object_or_404(TaskStatus, pk=status_id)
    if not request.user.profile.has_permission(status, mode='w'):
        return user_denied(request, message="You don't have access to this Task Status")

    if request.POST:
        if 'delete' in request.POST:
            if 'trash' in request.POST:
                status.trash = True
                status.save()
            else:
                status.delete()
            return HttpResponseRedirect(reverse('projects_index'))
        elif 'cancel' in request.POST:
            return HttpResponseRedirect(reverse('projects_index_by_status', args=[status.id]))

    milestones = Object.filter_by_request(request, Milestone.objects)

    context = _get_default_context(request)
    context.update({'status': status,
                    'milestones': milestones})

    return render_to_response('projects/status_delete', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 23
0
def index_assigned(request, response_format='html'):
    "Tickets assigned to current user"

    context = _get_default_context(request)
    agent = context['agent']

    if agent:
        query = Q(assigned=agent)
        if request.GET:
            if 'status' in request.GET and request.GET['status']:
                query = query & _get_filter_query(request.GET)
            else:
                query = query & Q(
                    status__hidden=False) & _get_filter_query(request.GET)
        else:
            query = query & Q(status__hidden=False)
        tickets = Object.filter_by_request(
            request, Ticket.objects.filter(query))
    else:
        return user_denied(request, "You are not a Service Support Agent.", response_format=response_format)

    filters = FilterForm(request.user.profile, 'assigned', request.GET)

    context.update({'tickets': tickets,
                    'filters': filters})

    return render_to_response('services/index_assigned', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 24
0
def index_assigned(request, response_format='html'):
    "Tickets assigned to current user"

    context = _get_default_context(request)
    agent = context['agent']

    if agent:
        query = Q(assigned=agent)
        if request.GET:
            if 'status' in request.GET and request.GET['status']:
                query = query & _get_filter_query(request.GET)
            else:
                query = query & Q(status__hidden=False) & _get_filter_query(
                    request.GET)
        else:
            query = query & Q(status__hidden=False)
        tickets = Object.filter_by_request(request,
                                           Ticket.objects.filter(query))
    else:
        return user_denied(request,
                           "You are not a Service Support Agent.",
                           response_format=response_format)

    filters = FilterForm(request.user.profile, 'assigned', request.GET)

    context.update({'tickets': tickets, 'filters': filters})

    return render_to_response('services/index_assigned',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 25
0
def folder_edit(request, knowledgeType_id, response_format='html'):
    "Knowledge folder edit page"

    folder = get_object_or_404(KnowledgeFolder, pk=knowledgeType_id)
    items = Object.filter_by_request(
        request, manager=KnowledgeItem.objects.filter(folder=folder))

    if not request.user.profile.has_permission(folder, mode="w"):
        return user_denied(
            request, message="You don't have access to this Knowledge Type")

    if request.POST:
        if 'cancel' not in request.POST:
            form = KnowledgeFolderForm(request.user.profile,
                                       None,
                                       request.POST,
                                       instance=folder)
            if form.is_valid():
                folder = form.save()
                return HttpResponseRedirect(
                    reverse('knowledge_folder_view', args=[folder.treepath]))
        else:
            return HttpResponseRedirect(
                reverse('knowledge_folder_view', args=[folder.treepath]))
    else:
        form = KnowledgeFolderForm(request.user.profile, None, instance=folder)

    context = _get_default_context(request)
    context.update({'items': items, 'folder': folder, 'form': form})

    return render_to_response('knowledge/folder_edit',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 26
0
def folder_delete(request, knowledgeType_id, response_format='html'):
    "Type delete"

    folder = get_object_or_404(KnowledgeFolder, pk=knowledgeType_id)
    items = Object.filter_by_request(
        request, manager=KnowledgeItem.objects.filter(folder=folder))

    if not request.user.profile.has_permission(folder, mode='w'):
        return user_denied(request, message="You don't have access to this Knowledge Type")

    if request.POST:
        if 'delete' in request.POST:
            if 'trash' in request.POST:
                folder.trash = True
                folder.save()
            else:
                folder.delete()
            return HttpResponseRedirect(reverse('knowledge_index'))
        elif 'cancel' in request.POST:
            return HttpResponseRedirect(reverse('knowledge_folder_view', args=[folder.treepath]))

    context = _get_default_context(request)
    context.update({'items': items,
                    'folder': folder})

    return render_to_response('knowledge/folder_delete', context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 27
0
def index(request, response_format='html'):
    "Homepage"
    trash = Object.filter_by_request(request, manager=Object.objects.filter(trash=True),
                                     mode='r', filter_trash=False).count()
    user = request.user.profile
    perspective = user.get_perspective()
    widget_objects = Widget.objects.filter(user=user, perspective=perspective)
    clean_widgets = []

    for widget_object in widget_objects:
        try:
            module = perspective.get_modules().filter(
                name=widget_object.module_name)[0]
            widget = _get_widget(request, module, widget_object.widget_name)
            if 'view' in widget:
                try:
                    content = unicode(
                        widget['view'](request, response_format=response_format).content, 'utf_8')
                    widget_content = _get_widget_content(
                        content, response_format=response_format)
                except Exception, e:
                    widget_content = ""
                    if settings.DEBUG:
                        widget_content = str(e)

                widget['content'] = widget_content
            if widget:
                widget_object.widget = widget
                clean_widgets.append(widget_object)
        except IndexError:
            widget_object.delete()
Exemplo n.º 28
0
def status_view(request, status_id, response_format='html'):
    "ItemStatus view"

    item_status = get_object_or_404(ItemStatus, pk=status_id)
    if not request.user.profile.has_permission(item_status):
        return user_denied(request,
                           message="You don't have access to this Item Status",
                           response_format=response_format)

    query = Q(status=item_status)
    if request.GET:
        query = query & _get_filter_query(request.GET)
    items = Object.filter_by_request(
        request,
        Item.objects.filter(query).order_by('name'))

    filters = FilterForm(request.user.profile, ['status'], request.GET)

    context = _get_default_context(request)
    context.update({
        'items': items,
        'filters': filters,
        'item_status': item_status
    })

    return render_to_response('infrastructure/item_status_view',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 29
0
def settings_view(request, response_format='html'):
    "Settings"

    if not request.user.profile.is_admin('anaf.identities'):
        return user_denied(request, message="You are not an Administrator of the Identities module",
                           response_format=response_format)

    contact_types = ContactType.objects.all().filter(trash=False)
    contact_fields = ContactField.objects.all().filter(trash=False)
    contacts = Object.filter_by_request(
        request, Contact.objects.order_by('name'))

    context = _get_default_context(request)
    context.update({'contact_types': contact_types,
                    'contact_fields': contact_fields,
                    'contacts': contacts})

    if request.POST and 'file' in request.FILES:
        csv_file = request.FILES['file']

        # TODO: check file extension
        content = csv_file.read()
        import_c = ProcessContacts()
        import_c.import_contacts(content)

        return HttpResponseRedirect(reverse('identities_index'))

    return render_to_response('identities/settings_view', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 30
0
def contact_edit(request, contact_id, response_format='html'):
    "Contact edit"

    contact = get_object_or_404(Contact, pk=contact_id)
    if not request.user.profile.has_permission(contact, mode='w'):
        return user_denied(request, message="You don't have write access to this Contact")

    if request.POST:
        if 'cancel' not in request.POST:
            form = ContactForm(request.user.profile, contact.contact_type, request.POST,
                               files=request.FILES, instance=contact)
            if form.is_valid():
                contact = form.save(request)
                return HttpResponseRedirect(reverse('identities_contact_view', args=[contact.id]))
        else:
            return HttpResponseRedirect(reverse('identities_contact_view', args=[contact.id]))
    else:
        form = ContactForm(
            request.user.profile, contact.contact_type, instance=contact)

    types = Object.filter_by_request(
        request, ContactType.objects.order_by('name'))

    return render_to_response('identities/contact_edit',
                              {'contact': contact,
                               'types': types,
                               'form': form},
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 31
0
def status_view(request, status_id, response_format='html'):
    "Status view"

    status = get_object_or_404(ChangeSetStatus, pk=status_id)

    if not request.user.profile.has_permission(status) \
            and not request.user.profile.is_admin('anaf.changes'):
        return user_denied(request,
                           "You don't have access to this Change Set Status.",
                           response_format=response_format)

    query = Q(
        object__in=Object.filter_by_request(request, Object.objects)) & Q(
            status=status)
    if request.GET:
        query = query & _get_filter_query(request.GET)
        filters = FilterForm(request.user.profile, 'status', request.GET)
    else:
        filters = FilterForm(request.user.profile, 'status')

    changesets = ChangeSet.objects.filter(query)

    context = _get_default_context(request)
    context.update({
        'status': status,
        'changesets': changesets,
        'filters': filters
    })

    return render_to_response('changes/status_view',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 32
0
def contact_add_typed(request, type_id, response_format='html'):
    "Contact add with preselected type"

    contact_type = get_object_or_404(ContactType, pk=type_id)
    if not request.user.profile.has_permission(contact_type, mode='x'):
        return user_denied(request, message="You don't have access to create " + unicode(contact_type))

    if request.POST:
        if 'cancel' not in request.POST:
            form = ContactForm(
                request.user.profile, contact_type, request.POST, files=request.FILES)
            if form.is_valid():
                contact = form.save(request, contact_type)
                contact.set_user_from_request(request)
                return HttpResponseRedirect(reverse('identities_contact_view', args=[contact.id]))
        else:
            return HttpResponseRedirect(reverse('identities_index'))
    else:
        form = ContactForm(request.user.profile, contact_type)

    types = Object.filter_by_request(
        request, ContactType.objects.order_by('name'))

    return render_to_response('identities/contact_add_typed',
                              {'type': contact_type,
                                  'types': types, 'form': form},
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 33
0
def index(request, response_format='html'):
    "Index page: displays all Items"

    query = Q(status__hidden=False)
    if request.GET:
        if 'status' in request.GET and request.GET['status']:
            query = _get_filter_query(request.GET)
        else:
            query = query & _get_filter_query(request.GET)
    if request.GET:
        query = query & _get_filter_query(request.GET)

    items = Object.filter_by_request(
        request,
        Item.objects.filter(query).order_by('name'))

    filters = FilterForm(request.user.profile, '', request.GET)

    context = _get_default_context(request)
    context.update({'items': items, 'filters': filters})

    return render_to_response('infrastructure/index',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 34
0
def folder_view(request, folderPath, response_format='html'):
    "Single knowledge folder view page"

    folder = KnowledgeFolder.by_path(folderPath)
    if not folder:
        raise Http404

    if not request.user.profile.has_permission(folder):
        return user_denied(
            request, message="You don't have access to this Knowledge Type")

    items = Object.filter_by_request(
        request, manager=KnowledgeItem.objects.filter(folder=folder))
    subfolders = KnowledgeFolder.objects.filter(parent=folder)

    context = _get_default_context(request)
    context.update({
        'items': items,
        'folder': folder,
        'subfolders': subfolders
    })

    return render_to_response('knowledge/folder_view',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 35
0
def type_edit(request, type_id, response_format='html'):
    "ContactType edit"

    contact_type = get_object_or_404(ContactType, pk=type_id)
    if not request.user.profile.has_permission(contact_type, mode='w'):
        return user_denied(request, message="You don't have access to this Contact Type",
                           response_format=response_format)
    identities = Object.filter_by_request(request,
                                          Contact.objects.filter(contact_type=contact_type).order_by('name'))

    if request.POST:
        if 'cancel' not in request.POST:
            form = ContactTypeForm(
                request.user.profile, request.POST, instance=contact_type)
            if form.is_valid():
                contact_type = form.save(request)
                return HttpResponseRedirect(reverse('identities_type_view', args=[contact_type.id]))
        else:
            return HttpResponseRedirect(reverse('identities_type_view', args=[contact_type.id]))
    else:
        form = ContactTypeForm(
            request.user.profile, instance=contact_type)

    context = _get_default_context(request)
    context.update({'identities': identities,
                    'form': form,
                    'type': contact_type})

    return render_to_response('identities/contact_type_edit', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 36
0
def folder_edit(request, knowledgeType_id, response_format='html'):
    "Knowledge folder edit page"

    folder = get_object_or_404(KnowledgeFolder, pk=knowledgeType_id)
    items = Object.filter_by_request(
        request, manager=KnowledgeItem.objects.filter(folder=folder))

    if not request.user.profile.has_permission(folder, mode="w"):
        return user_denied(request, message="You don't have access to this Knowledge Type")

    if request.POST:
        if 'cancel' not in request.POST:
            form = KnowledgeFolderForm(
                request.user.profile, None, request.POST, instance=folder)
            if form.is_valid():
                folder = form.save()
                return HttpResponseRedirect(reverse('knowledge_folder_view', args=[folder.treepath]))
        else:
            return HttpResponseRedirect(reverse('knowledge_folder_view', args=[folder.treepath]))
    else:
        form = KnowledgeFolderForm(
            request.user.profile, None, instance=folder)

    context = _get_default_context(request)
    context.update({'items': items,
                    'folder': folder,
                    'form': form})

    return render_to_response('knowledge/folder_edit', context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 37
0
def contact_add_typed(request, type_id, response_format='html'):
    "Contact add with preselected type"

    contact_type = get_object_or_404(ContactType, pk=type_id)
    if not request.user.profile.has_permission(contact_type, mode='x'):
        return user_denied(request,
                           message="You don't have access to create " +
                           unicode(contact_type))

    if request.POST:
        if 'cancel' not in request.POST:
            form = ContactForm(request.user.profile,
                               contact_type,
                               request.POST,
                               files=request.FILES)
            if form.is_valid():
                contact = form.save(request, contact_type)
                contact.set_user_from_request(request)
                return HttpResponseRedirect(
                    reverse('identities_contact_view', args=[contact.id]))
        else:
            return HttpResponseRedirect(reverse('identities_index'))
    else:
        form = ContactForm(request.user.profile, contact_type)

    types = Object.filter_by_request(request,
                                     ContactType.objects.order_by('name'))

    return render_to_response('identities/contact_add_typed', {
        'type': contact_type,
        'types': types,
        'form': form
    },
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 38
0
def widget_week_view(request, response_format='html'):
    "Week view - each slot represents an hour"

    events = Object.filter_by_request(request, Event.objects)

    date_current = now = datetime.now()
    istoday = True

    gotoform = GoToDateForm(now, request.GET)
    if request.GET:
        if 'date_year' in request.GET and 'date_month' in request.GET and 'date_day' in request.GET:
            try:
                day = int(request.GET['date_day'])
                year = int(request.GET['date_year'])
                month = int(request.GET['date_month'])
                if year >= 1900 and 1 <= month <= 12 and 1 <= day <= 31:
                    date_current = datetime(year, month, day)
                    istoday = date_current == now
            except Exception:
                pass
        if gotoform.is_valid() and gotoform.cleaned_data['goto']:
            date_current = gotoform.cleaned_data['goto']
            istoday = date_current == now
            date_current = now = datetime(
                date_current.year, date_current.month, date_current.day)

    date_previous = date_current - relativedelta(weeks=+1)
    date_next = date_current + relativedelta(weeks=+1)

    weeks = calendar.Calendar().monthdatescalendar(
        date_current.year, date_current.month)
    current_week = []
    for week in weeks:
        if date_current.date() in week:
            current_week = week
            break

    wrapped_events = EventCollection(events, START_HOUR, END_HOUR)
    wrapped_events.collect_events(request)

    dates = calendar.Calendar().monthdatescalendar(
        date_current.year, date_current.month)

    wrapped_events = EventCollection(events)
    wrapped_events.collect_events(request)

    return render_to_response('events/widgets/week_view',
                              {'events': wrapped_events,
                               'dates': dates,
                               'week': current_week,
                               'date_previous': date_previous,
                               'date_next': date_next,
                               'start_date': current_week[0],
                               'end_date': current_week[6],
                               'date_current': date_current,
                               'gotoform': gotoform.as_ul(),
                               'istoday': istoday,
                               'now': now},
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 39
0
def _get_default_context(request):
    """Returns default context for all views as dict()"""

    types = Object.filter_by_request(
        request, ItemType.objects.filter(parent__isnull=True))
    statuses = Object.filter_by_request(request, ItemStatus.objects)
    locations = Object.filter_by_request(request, Location.objects)
    massform = MassActionForm(request.user.profile)

    context = {
        'statuses': statuses,
        'types': types,
        'massform': massform,
        'locations': locations
    }

    return context
Exemplo n.º 40
0
def _get_default_context(request):
    """Returns default context for all views as dict()"""

    types = Object.filter_by_request(
        request, ItemType.objects.filter(parent__isnull=True))
    statuses = Object.filter_by_request(request, ItemStatus.objects)
    locations = Object.filter_by_request(request, Location.objects)
    massform = MassActionForm(request.user.profile)

    context = {
        'statuses': statuses,
        'types': types,
        'massform': massform,
        'locations': locations
    }

    return context
Exemplo n.º 41
0
def task_view(request, task_id, response_format='html'):
    """Single task view page"""

    task = get_object_or_404(Task, pk=task_id)
    if not request.user.profile.has_permission(task):
        return user_denied(request, message="You don't have access to this Task")

    if request.user.profile.has_permission(task, mode='x'):
        if request.POST:
            if 'add-work' in request.POST:
                return HttpResponseRedirect(reverse('projects_task_time_slot_add', args=[task.id]))
            elif 'start-work' in request.POST:
                return HttpResponseRedirect(reverse('projects_task_view', args=[task.id]))
            record = UpdateRecord()
            record.record_type = 'manual'
            form = TaskRecordForm(
                request.user.profile, request.POST, instance=record)
            if form.is_valid():
                record = form.save()
                record.set_user_from_request(request)
                record.save()
                record.about.add(task)
                task.set_last_updated()
                return HttpResponseRedirect(reverse('projects_task_view', args=[task.id]))
        else:
            form = TaskRecordForm(request.user.profile)
    else:
        form = None

    subtasks = Object.filter_by_request(
        request, Task.objects.filter(parent=task))
    time_slots = Object.filter_by_request(
        request, TaskTimeSlot.objects.filter(task=task))

    context = _get_default_context(request)
    context.update({'task': task,
                    'subtasks': subtasks,
                    'record_form': form,
                    'time_slots': time_slots})

    if 'massform' in context and 'project' in context['massform'].fields:
        del context['massform'].fields['project']

    return render_to_response('projects/task_view', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 42
0
def sla_index(request, response_format='html'):
    "All available Service Level Agreements"

    if request.GET:
        query = _get_filter_query(request.GET, ServiceLevelAgreement)
        slas = Object.filter_by_request(request,
                                        ServiceLevelAgreement.objects.filter(query))
    else:
        slas = Object.filter_by_request(request,
                                        ServiceLevelAgreement.objects)

    filters = SLAFilterForm(request.user.profile, '', request.GET)

    context = _get_default_context(request)
    context.update({'slas': slas, 'filters': filters})

    return render_to_response('services/sla_index', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 43
0
def contact_add(request, response_format='html'):
    "Contact add"

    types = Object.filter_by_request(
        request, ContactType.objects.order_by('name'))

    return render_to_response('identities/contact_add',
                              {'types': types},
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 44
0
def week_view(request, response_format='html'):
    "Week view - each slot represents an hour"

    events = Object.filter_by_request(request, Event.objects)

    date_current = now = datetime.now()
    istoday = True

    gotoform = GoToDateForm(now, request.GET)
    if request.GET:
        if 'date_year' in request.GET and 'date_month' in request.GET and 'date_day' in request.GET:
            try:
                day = int(request.GET['date_day'])
                year = int(request.GET['date_year'])
                month = int(request.GET['date_month'])
                if year >= 1900 and 1 <= month <= 12 and 1 <= day <= 31:
                    date_current = datetime(year, month, day)
                    istoday = date_current == now
            except Exception:
                pass
        if gotoform.is_valid() and gotoform.cleaned_data['goto']:
            date_current = gotoform.cleaned_data['goto']
            istoday = date_current == now
            date_current = now = datetime(date_current.year,
                                          date_current.month, date_current.day)

    date_previous = date_current - relativedelta(weeks=+1)
    date_next = date_current + relativedelta(weeks=+1)

    weeks = calendar.Calendar().monthdatescalendar(date_current.year,
                                                   date_current.month)
    current_week = []
    for week in weeks:
        if date_current.date() in week:
            current_week = week
            break

    wrapped_events = EventCollection(events, START_HOUR, END_HOUR)
    wrapped_events.collect_events(request)

    hours = range(START_HOUR, END_HOUR + 1)

    return render_to_response('events/week_view', {
        'events': wrapped_events,
        'week': current_week,
        'start_date': current_week[0],
        'end_date': current_week[6],
        'date_previous': date_previous,
        'date_next': date_next,
        'date_current': date_current,
        'gotoform': gotoform.as_ul(),
        'istoday': istoday,
        'hours': hours,
        'now': now
    },
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 45
0
def _get_default_context(request):
    """Returns Default context applicable to all views"""

    all_statuses = Object.filter_by_request(request, ChangeSetStatus.objects)
    massform = MassActionForm(request.user.profile)

    context = {'all_statuses': all_statuses, 'massform': massform}

    return context
Exemplo n.º 46
0
def _get_default_context(request):
    "Returns default context as a dict()"
    streams = Object.filter_by_request(request, MessageStream.objects)
    mlists = MailingList.objects.all()
    massform = MassActionForm(request.user.profile)

    context = {'streams': streams, 'mlists': mlists, 'massform': massform}

    return context
Exemplo n.º 47
0
def contact_add(request, response_format='html'):
    "Contact add"

    types = Object.filter_by_request(request,
                                     ContactType.objects.order_by('name'))

    return render_to_response('identities/contact_add', {'types': types},
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 48
0
def sla_index(request, response_format='html'):
    "All available Service Level Agreements"

    if request.GET:
        query = _get_filter_query(request.GET, ServiceLevelAgreement)
        slas = Object.filter_by_request(
            request, ServiceLevelAgreement.objects.filter(query))
    else:
        slas = Object.filter_by_request(request, ServiceLevelAgreement.objects)

    filters = SLAFilterForm(request.user.profile, '', request.GET)

    context = _get_default_context(request)
    context.update({'slas': slas, 'filters': filters})

    return render_to_response('services/sla_index',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 49
0
def index(request, response_format='html'):
    "Reports index page"

    reports = Object.filter_by_request(request, Report.objects)
    context = _get_default_context(request)
    context.update({'reports': reports})

    return render_to_response('reports/index', context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 50
0
def contact_me(request, attribute='', response_format='html'):
    "My Contact card"

    contact = request.user.profile.get_contact()
    if not request.user.profile.has_permission(contact):
        return user_denied(request,
                           message="You don't have access to this Contact")
    types = Object.filter_by_request(request,
                                     ContactType.objects.order_by('name'))

    if not contact:
        return render_to_response('identities/contact_me_missing',
                                  {'types': types},
                                  context_instance=RequestContext(request),
                                  response_format=response_format)

    subcontacts = Object.filter_by_request(request, contact.child_set)
    contact_values = contact.contactvalue_set.order_by('field__name')

    objects = get_contact_objects(request.user.profile,
                                  contact,
                                  preformat=True)

    module = None
    for key in objects:
        if not attribute and objects[key]['count']:
            # attribute = objects[key]['objects'].keys()[0]
            module = objects[key]['module']
        elif attribute in objects[key]['objects'].keys():
            module = objects[key]['module']
            break

    return render_to_response('identities/contact_me', {
        'contact': contact,
        'subcontacts': subcontacts,
        'objects': objects,
        'current_module': module,
        'attribute': attribute,
        'types': types,
        'contact_values': contact_values
    },
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 51
0
def group_view(request, group_id, response_format='html'):
    "Group view"

    group = get_object_or_404(Group, pk=group_id)
    contacts = Object.filter_by_request(
        request, Contact.objects.filter(related_user=group).order_by('name'))
    members = User.objects.filter(
        Q(default_group=group) | Q(other_groups=group)).distinct()
    subgroups = Group.objects.filter(parent=group)
    types = Object.filter_by_request(
        request, ContactType.objects.order_by('name'))

    return render_to_response('identities/group_view',
                              {'group': group,
                               'subgroups': subgroups,
                               'members': members,
                               'contacts': contacts,
                               'types': types},
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 52
0
def _get_default_context(request):
    "Preprocess context"

    context = {}
    types = Object.filter_by_request(request,
                                     ContactType.objects.order_by('name'))
    massform = MassActionForm(request.user.profile)
    context.update({'types': types, 'massform': massform})

    return context
Exemplo n.º 53
0
def index(request, response_format='html'):
    "Default page"

    if request.GET:
        query = _get_filter_query(request.GET)
        contacts = Object.filter_by_request(
            request, Contact.objects.filter(query).order_by('name'))
    else:
        contacts = Object.filter_by_request(
            request, Contact.objects.order_by('name'))

    filters = FilterForm(request.user.profile, 'name', request.GET)

    context = _get_default_context(request)
    context.update({'contacts': contacts,
                    'filters': filters})

    return render_to_response('identities/index', context,
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 54
0
def _get_default_context(request):
    "Returns default context as a dict()"

    folders = Object.filter_by_request(request, Folder.objects, mode="r")
    massform = MassActionForm(request.user.profile)

    context = {'folders': folders,
               'massform': massform}

    return context
Exemplo n.º 55
0
def index(request, response_format='html'):
    "Knowledge base index page"

    if request.GET:
        query = _get_filter_query(request.GET)
        items = Object.filter_by_request(request,
                                         KnowledgeItem.objects.filter(query))
    else:
        items = Object.filter_by_request(request, KnowledgeItem.objects)

    filters = FilterForm(request.user.profile, 'name', request.GET)

    context = _get_default_context(request)
    context.update({'filters': filters, 'items': items})

    return render_to_response('knowledge/index',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 56
0
def folder_delete(request, folder_id, response_format='html'):
    "Folder delete"

    folder = get_object_or_404(Folder, pk=folder_id)

    if not request.user.profile.has_permission(folder, mode='w'):
        return user_denied(request, message="You don't have access to this Folder")

    if request.POST:
        if 'delete' in request.POST:
            if 'trash' in request.POST:
                folder.trash = True
                folder.save()
            else:
                folder.delete()
            return HttpResponseRedirect(reverse('document_index'))
        elif 'cancel' in request.POST:
            return HttpResponseRedirect(reverse('documents_folder_view', args=[folder.id]))

    query = Q(object_type='anaf.documents.models.Document') | Q(
        object_type='anaf.documents.models.File') | Q(
        object_type='anaf.documents.models.WebLink')
    query = query & (Q(document__folder=folder) | Q(
        file__folder=folder) | Q(weblink__folder=folder))

    if request.GET:
        query = _get_filter_query(request.GET)
        objects = Object.filter_by_request(
            request, Object.objects.filter(query))
    #     objects = objects.order_by('-last_updated')
    else:
        objects = Object.filter_by_request(
            request, Object.objects.filter(query))
    #     objects = objects.order_by('-last_updated')

    context = _get_default_context(request)
    context.update({'folder': folder,
                    'objects': objects})

    return render_to_response('documents/folder_delete', context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 57
0
def index(request, response_format='html'):
    """List of items in Trash"""

    trash = Object.filter_by_request(request, manager=Object.objects.filter(trash=True),
                                     mode='r', filter_trash=False)
    massform = MassActionForm()

    return render_to_response('core/trash/index',
                              {'trash': trash,
                               'massform': massform},
                              context_instance=RequestContext(request), response_format=response_format)
Exemplo n.º 58
0
def index_documents(request, response_format='html'):
    "Index_documents page: displays all Documents"

    if request.GET:
        query = _get_direct_filter_query(request.GET)
        documents = Object.filter_by_request(
            request, Document.objects.filter(query).order_by('-last_updated'))
    else:
        documents = Object.filter_by_request(
            request, Document.objects.order_by('-last_updated'))

    filters = FilterForm(request.user.profile, 'title', request.GET)

    context = _get_default_context(request)
    context.update({'filters': filters,
                    'documents': documents})

    return render_to_response('documents/index_documents', context,
                              context_instance=RequestContext(request),
                              response_format=response_format)