Пример #1
0
def index(request):
    """
    List of rooms
    """
    if request.user.is_superuser:
        rooms = models.Room.objects.all()
    else:
        rooms = request.user.conversate_rooms.all()
    
    return render(request, 'conversate/index.html', {
        'conversate_settings': utils.get_template_settings(),
        'title':    'Rooms',
        'rooms':    rooms,
    })
Пример #2
0
def index(request):
    """
    List of rooms
    """
    if request.user.is_superuser:
        rooms = models.Room.objects.all()
    else:
        rooms = request.user.conversate_rooms.all()

    return render(
        request, 'conversate/index.html', {
            'conversate_settings': utils.get_template_settings(),
            'title': 'Rooms',
            'rooms': rooms,
        })
Пример #3
0
def room(request, room, room_slug):
    """
    Show a room
    """
    # Get room messages
    room_user = _update_room_user(request, room)
    messages = room.messages.all()

    # Paginate
    msg_count = messages.count()
    remaining = 0
    if msg_count > settings.PAGE_SIZE:
        remaining = msg_count - settings.PAGE_SIZE
        messages = messages[remaining:]

    # Need all messages now, force lookup
    # Need last message for javascript
    messages = list(messages)
    first_message = messages[0] if len(messages) > 0 else None
    last_message = messages[-1] if len(messages) > 0 else None

    return render(
        request, 'conversate/room.html', {
            'conversate_settings':
            utils.get_template_settings(
                room,
                room_user,
                extra={
                    'first': first_message.pk if first_message else None,
                    'last': last_message.pk if last_message else None,
                    'remaining': remaining,
                }),
            'title':
            room.title,
            'room':
            room,
            'form':
            forms.MessageForm(),
            'settings':
            forms.SettingsForm(instance=room_user),
            'room_messages':
            messages,
            'room_users':
            _room_users(room, request.user),
        })
Пример #4
0
def room(request, room, room_slug):
    """
    Show a room
    """
    # Get room messages
    room_user = _update_room_user(request, room)
    messages = room.messages.all()
    
    # Paginate
    msg_count = messages.count()
    remaining = 0
    if msg_count > settings.PAGE_SIZE:
        remaining = msg_count - settings.PAGE_SIZE
        messages = messages[remaining:]
    
    # Need all messages now, force lookup
    # Need last message for javascript
    messages = list(messages)
    first_message = messages[0] if len(messages) > 0 else None
    last_message = messages[-1] if len(messages) > 0 else None
    
    return render(request, 'conversate/room.html', {
        'conversate_settings': utils.get_template_settings(
            room, room_user, extra={
                'first':    first_message.pk if first_message else None,
                'last':     last_message.pk if last_message else None,
                'remaining':    remaining,
            }
        ),
        'title':    room.title,
        'room':     room,
        'form':     forms.MessageForm(),
        'settings': forms.SettingsForm(instance=room_user),
        'room_messages': messages,
        'room_users':    _room_users(room, request.user),
    })