Python django.shortcuts.get_object_or_404() Examples

The following are code examples for showing how to use django.shortcuts.get_object_or_404(). They are extracted from open source Python projects. You can vote up the examples you like or vote down the ones you don't like. You can also save this page to your account.

Example 1
Project: socialhome   Author: jaywink   File: views.py    (GNU Affero General Public License v3.0) View Source Project 9 votes vote down vote up
def webfinger_view(request):
    """Generate a webfinger document."""
    q = request.GET.get("q")
    if not q:
        raise Http404()
    username = q.split("@")[0]
    if username.startswith("acct:"):
        username = username.replace("acct:", "", 1)
    user = get_object_or_404(User, username=username)
    # Create webfinger document
    webfinger = generate_legacy_webfinger(
        "diaspora",
        handle="{username}@{domain}".format(username=user.username, domain=settings.SOCIALHOME_DOMAIN),
        host=settings.SOCIALHOME_URL,
        guid=str(user.profile.guid),
        public_key=user.profile.rsa_public_key
    )
    return HttpResponse(webfinger, content_type="application/xrd+xml") 
Example 2
Project: socialhome   Author: jaywink   File: views.py    (GNU Affero General Public License v3.0) View Source Project 7 votes vote down vote up
def hcard_view(request, guid):
    """Generate a hcard document.

    For local users only.
    """
    try:
        profile = get_object_or_404(Profile, guid=guid, user__isnull=False)
    except ValueError:
        raise Http404()
    hcard = generate_hcard(
        "diaspora",
        hostname=settings.SOCIALHOME_URL,
        fullname=profile.name,
        firstname=profile.get_first_name(),
        lastname=profile.get_last_name(),
        photo300=profile.safer_image_url_large,
        photo100=profile.safer_image_url_medium,
        photo50=profile.safer_image_url_small,
        searchable="true" if profile.public else "false",
        guid=profile.guid,
        username=profile.user.username,
        public_key=profile.rsa_public_key,
    )
    return HttpResponse(hcard) 
Example 3
Project: socialhome   Author: jaywink   File: views.py    (GNU Affero General Public License v3.0) View Source Project 7 votes vote down vote up
def get(self, request, *args, **kwargs):
        """Redirect to user detail view if root page is a profile or if the user is logged in"""

        if settings.SOCIALHOME_HOME_VIEW:
            p, m = settings.SOCIALHOME_HOME_VIEW.rsplit('.', 1)
            return getattr(import_module(p), m).as_view()(request)

        if request.user.is_authenticated:
            landing_page = request.user.preferences.get("generic__landing_page")
            if landing_page == "profile":
                return ProfileDetailView.as_view()(request, guid=request.user.profile.guid)
            elif landing_page == "profile_all":
                return ProfileAllContentView.as_view()(request, guid=request.user.profile.guid)
            elif landing_page == "followed":
                return FollowedStreamView.as_view()(request)
            elif landing_page == "public":
                return PublicStreamView.as_view()(request)
            else:
                # Fallback to profile view
                return ProfileDetailView.as_view()(request, guid=request.user.profile.guid)
        if settings.SOCIALHOME_ROOT_PROFILE:
            profile = get_object_or_404(Profile, user__username=settings.SOCIALHOME_ROOT_PROFILE)
            return ProfileDetailView.as_view()(request, guid=profile.guid)
        return super(HomeView, self).get(request, *args, **kwargs) 
Example 4
Project: Instagram   Author: Fastcampus-WPS-5th   File: youtube.py    (license) View Source Project 6 votes vote down vote up
def post_create_with_video(request):
    # POST???? video_pk?? ??
    video_pk = request.POST['video_pk']
    # ?? video_pk? ???? Video????
    video = get_object_or_404(Video, pk=video_pk)

    # ?? video? ?? Post??
    post = Post.objects.create(
        author=request.user,
        video=video,
    )
    # ??? Post??? my_comment? ???? Comment??
    post.my_comment = Comment.objects.create(
        post=post,
        author=request.user,
        content=video.title
    )
    return redirect('post:post_detail', post_pk=post.pk) 
Example 5
Project: Plamber   Author: OlegKlimenko   File: index_views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def restore_data(request):
    """
    Restores the password for user.
    """
    if request.method == 'POST':
        forgot_form = ForgotPasswordForm(request.POST)

        if forgot_form.is_valid():
            with transaction.atomic():
                temp_password = generate_password()

                user = get_object_or_404(User, email=forgot_form.cleaned_data['email'])
                user.set_password(temp_password)
                user.save()

                restore_account.delay(user.username, temp_password, forgot_form.cleaned_data['email'])

                logger.info("The password for user: '{}' restored successfully.".format(user))

                return HttpResponse(json.dumps(True), content_type='application/json') 
Example 6
Project: Plamber   Author: OlegKlimenko   File: library_views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def find_book(request):
    """
    Generates list with books of data which user entered. At first it check full equality in name,
    after tries to check if contains some part of entered data.
    """
    user = get_object_or_404(TheUser, auth_token=request.data.get('user_token'))
    search_data = request.data.get('search_term')

    filtered_books = Book.exclude_private_books(user.id_user, Book.fetch_books(search_data))

    paginator = Paginator(filtered_books, OUTPUT_BOOKS_PER_PAGE)
    page = paginator.page(request.data.get('page'))
    next_page = page.has_next()
    page_books = page.object_list

    return Response({'status': 200,
                     'detail': 'successful',
                     'data': {'books': [BookSerializer(book).data for book in page_books],
                              'next_page': page.next_page_number() if next_page else 0}}) 
Example 7
Project: Plamber   Author: OlegKlimenko   File: selected_book_views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def add_book_to_home(request):
    """
    Adds book to list of user's added books.
    """
    user = get_object_or_404(TheUser, auth_token=request.data.get('user_token'))
    book = get_object_or_404(Book, id=request.data.get('book_id'))

    if book.private_book and book.who_added != user:
        return Response({}, status=404)

    if AddedBook.objects.filter(id_user=user, id_book=book).exists():
        return Response({}, status=404)

    AddedBook.objects.create(id_user=user, id_book=book)
    logger.info("User '{}' added book with id: '{}' to his own library.".format(user.id_user.id, book.id))

    return Response({'status': 200,
                     'detail': 'success',
                     'data': {}})


# ---------------------------------------------------------------------------------------------------------------------- 
Example 8
Project: Plamber   Author: OlegKlimenko   File: selected_book_views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def remove_book_from_home(request):
    """
    Removes book from list of user's reading books.
    """
    user = get_object_or_404(TheUser, auth_token=request.data.get('user_token'))
    book = get_object_or_404(Book, id=request.data.get('book_id'))
    added_book = get_object_or_404(AddedBook, id_user=user, id_book=book)

    added_book.delete()
    logger.info("User '{}' removed book with id: '{}' from his own library."
                .format(request.user, request.data.get('book_id')))

    return Response({'status': 200,
                     'detail': 'success',
                     'data': {}})


# ---------------------------------------------------------------------------------------------------------------------- 
Example 9
Project: Plamber   Author: OlegKlimenko   File: read_book_views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def open_book(request):
    """
    Returns the book of last readed page.
    """
    user = get_object_or_404(TheUser, auth_token=request.data.get('user_token'))
    book = get_object_or_404(Book, id=request.data.get('book_id'))

    added_book = get_object_or_404(AddedBook, id_book=book, id_user=user)
    added_book.last_read = added_book.last_read.now()
    added_book.save()

    logger.info("User '{}' opened book with id: '{}'.".format(user, book.id))

    return Response({'status': 200,
                     'detail': 'successful',
                     'data': {'last_page': added_book.last_page}})


# ---------------------------------------------------------------------------------------------------------------------- 
Example 10
Project: Plamber   Author: OlegKlimenko   File: read_book_views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def set_current_page(request):
    """
    Changes current readed page for book of the user.
    """
    user = get_object_or_404(TheUser, auth_token=request.data.get('user_token'))
    book = get_object_or_404(Book, id=request.data.get('book_id'))
    current_page = request.data.get('current_page')

    if not isinstance(current_page, int):
        return Response({'status': 400,
                         'detail': 'current page not a number',
                         'data': {}}, status=400)

    added_book = AddedBook.objects.get(id_book=book, id_user=user)
    added_book.last_page = current_page
    added_book.save()

    logger.info("User '{}' on book with id: '{}' changed page to: '{}'."
                .format(user, book.id, current_page))

    return Response({'status': 200,
                     'detail': 'successful',
                     'data': {}}) 
Example 11
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def category_detail(request, category_id):
    """
    Category detail
    ---
    serializer: categories.serializers.CategorySerializer
    responseMessages:
    - code: 400
      message: Bad request.
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden.
    - code: 404
      message: Not found
    """
    category = get_object_or_404(Category, pk=category_id)
    if request.method == 'GET':
        serializer = CategorySerializer(category)
        return Response(serializer.data, status=status.HTTP_200_OK) 
Example 12
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def employee_activate(request, employee_id, action):
    """
    Activate employee account, action could be true or false
    ---
    response_serializer: employees.serializers.EmployeeSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden.
    - code: 404
      message: Not found
    """
    if request.method == 'PATCH':
        employee = get_object_or_404(Employee, pk=employee_id)
        if action == 'true':
            employee.is_active = True
        elif action == 'false':
            employee.is_active = False
        else:
            pass
        employee.save()
        serializer = EmployeeSerializer(employee)
        return Response(serializer.data, status=status.HTTP_202_ACCEPTED) 
Example 13
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def employee_block(request, employee_id, action):
    """
    Block employee account, action could be true or false
    ---
    response_serializer: employees.serializers.EmployeeSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden.
    - code: 404
      message: Not found
    """
    if request.method == 'PATCH':
        employee = get_object_or_404(Employee, pk=employee_id)
        if action == 'true':
            employee.is_blocked = True
        elif action == 'false':
            employee.is_blocked = False
        else:
            pass
        employee.save()
        serializer = EmployeeSerializer(employee)
        return Response(serializer.data, status=status.HTTP_202_ACCEPTED) 
Example 14
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def star(request, star_id):
    """
    Returns star detail
    ---
    serializer: stars.serializers.StarSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden, authentication credentials were not provided
    - code: 404
      message: Not found
    """
    if request.method == 'GET':
        star = get_object_or_404(Star, pk=star_id)
        serializer = StarSerializer(star)
        return Response(serializer.data, status=status.HTTP_200_OK) 
Example 15
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def stars_employee_list(request, employee_id):
    """
    Returns stars list from employee
    ---
    serializer: stars.serializers.StarSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden, authentication credentials were not provided
    - code: 404
      message: Not found
    """
    if request.method == 'GET':
        employee = get_object_or_404(Employee, pk=employee_id)
        employee_stars = Star.objects.filter(to_user=employee)
        paginator = PageNumberPagination()
        results = paginator.paginate_queryset(employee_stars, request)
        serializer = StarSerializer(results, many=True)
        return paginator.get_paginated_response(serializer.data) 
Example 16
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def stars_employee_list_group_by_category(request, employee_id):
    """
    Returns stars list from employee grouped by categories
    ---
    serializer: stars.serializers.StarEmployeeCategoriesSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden, authentication credentials were not provided
    - code: 404
      message: Not found
    """
    if request.method == 'GET':
        employee = get_object_or_404(Employee, pk=employee_id)
        employee_stars = Star.objects.filter(to_user=employee).values(
            'category__pk',
            'category__name').annotate(num_stars=Count('category')).order_by('-num_stars', 'category__name')
        paginator = PageNumberPagination()
        result = paginator.paginate_queryset(employee_stars, request)
        serializer = StarEmployeeCategoriesSerializer(result, many=True)
        return paginator.get_paginated_response(serializer.data) 
Example 17
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def stars_employee_list_group_by_category_detail(request, employee_id, category_id):
    """
    Returns stars list detail from employee divided by category
    ---
    serializer: stars.serializers.StarSmallSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden, authentication credentials were not provided
    - code: 404
      message: Not found
    """
    if request.method == 'GET':
        employee = get_object_or_404(Employee, pk=employee_id)
        category = get_object_or_404(Category, pk=category_id)
        stars = Star.objects.filter(to_user=employee, category=category).order_by('-date')
        paginator = PageNumberPagination()
        results = paginator.paginate_queryset(stars, request)
        serializer = StarSmallSerializer(results, many=True)
        return paginator.get_paginated_response(serializer.data) 
Example 18
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def stars_employee_list_group_by_keyword_detail(request, employee_id, keyword_id):
    """
    Returns stars list detail from employee divided by keyword
    ---
    serializer: stars.serializers.StarSmallSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden, authentication credentials were not provided
    - code: 404
      message: Not found
    """
    if request.method == 'GET':
        employee = get_object_or_404(Employee, pk=employee_id)
        keyword = get_object_or_404(Keyword, pk=keyword_id)
        stars = Star.objects.filter(to_user=employee, keyword=keyword).order_by('-date')
        paginator = PageNumberPagination()
        results = paginator.paginate_queryset(stars, request)
        serializer = StarSmallSerializer(results, many=True)
        return paginator.get_paginated_response(serializer.data) 
Example 19
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def badges_employee_list(request, employee_id):
    """
    Returns badge list from employee
    ---
    response_serializer: stars.serializers.EmployeeBadgeSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden, authentication credentials were not provided
    - code: 404
      message: Not found
    """
    if request.method == 'GET':
        employee = get_object_or_404(Employee, pk=employee_id)
        employee_bages = EmployeeBadge.objects.filter(to_user=employee)
        paginator = PageNumberPagination()
        results = paginator.paginate_queryset(employee_bages, request)
        serializer = EmployeeBadgeSerializer(results, many=True)
        return paginator.get_paginated_response(serializer.data) 
Example 20
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def get_messages(request, employee_id):
    """
    Get all messages for employee id
    ---
    response_serializer: activities.serializers.MessageSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden.
    - code: 404
      message: Not found
    - code: 500
      message: Internal Server Error
    """
    if request.method == 'GET':
        employee = get_object_or_404(Employee, pk=employee_id)
        messages = Message.objects.filter(
            Q(to_user='all') |
            Q(to_user=employee.location.name) |
            Q(to_user=employee.username))
        paginator = PageNumberPagination()
        results = paginator.paginate_queryset(messages, request)
        serializer = MessageSerializer(results, many=True)
        return paginator.get_paginated_response(serializer.data) 
Example 21
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def get_messages_from(request, employee_id):
    """
    Get all messages sent from employee id
    ---
    response_serializer: activities.serializers.MessageSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden.
    - code: 404
      message: Not found
    - code: 500
      message: Internal Server Error
    """
    if request.method == 'GET':
        employee = get_object_or_404(Employee, pk=employee_id)
        messages = Message.objects.filter(from_user=employee)
        paginator = PageNumberPagination()
        results = paginator.paginate_queryset(messages, request)
        serializer = MessageSerializer(results, many=True)
        return paginator.get_paginated_response(serializer.data) 
Example 22
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def get(self, request, event_id, format=None):
        """
        List all activities for an event
        ---
        serializer: administrator.serializers.EventActivitySerializer
        parameters:
        - name: pagination
          required: false
          type: string
          paramType: query
        """
        event = get_object_or_404(Event, pk=event_id)
        activities = EventActivity.objects.filter(event=event)
        if request.GET.get('pagination'):
            pagination = request.GET.get('pagination')
            if pagination == 'true':
                paginator = AdministratorPagination()
                results = paginator.paginate_queryset(activities, request)
                serializer = EventActivitySerializer(results, many=True)
                return paginator.get_paginated_response(serializer.data)
            else:
                return Response(status=status.HTTP_400_BAD_REQUEST)
        else:
            serializer = EventActivitySerializer(activities, many=True)
            return Response(serializer.data, status=status.HTTP_200_OK) 
Example 23
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def get(self, request, employee_id, format=None):
        """
        List all messages from employee
        ---
        serializer: administrator.serializers.MessageSerializer
        parameters:
        - name: pagination
          required: false
          type: string
          paramType: query
        """
        employee = get_object_or_404(Employee, pk=employee_id)
        messages = get_list_or_404(Message, from_user=employee)
        if request.GET.get('pagination'):
            pagination = request.GET.get('pagination')
            if pagination == 'true':
                paginator = AdministratorPagination()
                results = paginator.paginate_queryset(messages, request)
                serializer = MessageSerializer(results, many=True)
                return paginator.get_paginated_response(serializer.data)
            else:
                return Response(status=status.HTTP_400_BAD_REQUEST)
        else:
            serializer = MessageSerializer(messages, many=True)
            return Response(serializer.data, status=status.HTTP_200_OK) 
Example 24
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def delete(self, request, id, kind, format=None):
        """
        WARNING: Force delete
        """
        if kind == 'badge':
            kind = get_object_or_404(Badge, pk=id)
        elif kind == 'category':
            kind = get_object_or_404(Category, pk=id)
        elif kind == 'event':
            kind = get_object_or_404(Event, pk=id)
        elif kind == 'keyword':
            kind = get_object_or_404(Keyword, pk=id)
        elif kind == 'location':
            kind = get_object_or_404(Location, pk=id)
        elif kind == 'position':
            kind = get_object_or_404(Position, pk=id)
        elif kind == 'role':
            kind = get_object_or_404(Role, pk=id)
        else:
            return Response(status=status.HTTP_404_NOT_FOUND)

        kind.delete()
        return Response(status=status.HTTP_204_NO_CONTENT) 
Example 25
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def local_events(request, employee_id):
    """
    Returns the full upcoming events list for employee location
    ---
    serializer: events.serializers.EventSerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden.
    - code: 404
      message: Not found
    """
    if request.method == 'GET':
        employee = get_object_or_404(Employee, pk=employee_id)
        events = Event.objects.filter(location=employee.location, is_active=True)
        paginator = PageNumberPagination()
        results = paginator.paginate_queryset(events, request)
        serializer = EventSerializer(results, many=True)
        return paginator.get_paginated_response(serializer.data) 
Example 26
Project: BackendAllStars   Author: belatrix   File: views.py    (Apache License 2.0) View Source Project 6 votes vote down vote up
def event_activities(request, event_id):
    """
    Returns activity list for event
    ---
    serializer: events.serializers.EventActivitySerializer
    responseMessages:
    - code: 401
      message: Unauthorized. Authentication credentials were not provided. Invalid token.
    - code: 403
      message: Forbidden.
    - code: 404
      message: Not found
    """
    if request.method == 'GET':
        event = get_object_or_404(Event, pk=event_id)
        activities = EventActivity.objects.filter(event=event)
        paginator = PageNumberPagination()
        results = paginator.paginate_queryset(activities, request)
        serializer = EventActivitySerializer(results, many=True)
        return paginator.get_paginated_response(serializer.data) 
Example 27
Project: msdnhash   Author: mauricew   File: views.py    (license) View Source Project 6 votes vote down vote up
def family_detail(request, family_id):
    family = get_object_or_404(ProductFamily, pk=family_id)
    files = File.objects.filter(product_family_id= family.id).order_by("-posted_date", "description")
    file_languages = Language.objects.filter(file__product_family_id= family.id).order_by('name').distinct()

    lang = request.GET.get('lang')
    if lang:
        files = files.filter(language__code=lang)

    context = {
        'family': family,
        'files': files,
        'file_languages': file_languages,
        'selected_language': lang,
    }
    return render(request, 'msdn/family_detail.html', context) 
Example 28
Project: kuzgun.io   Author: yigitgenc   File: views.py    (MIT License) View Source Project 6 votes vote down vote up
def retrieve(self, request, parent_lookup_torrent=None, *args, **kwargs):
        """
        Retrieve a file of the user.

        :return: Response
        """

        if parent_lookup_torrent:
            # Retrieve a file of the torrent.
            torrent = get_object_or_404(Torrent, pk=parent_lookup_torrent)
            if not torrent.finished:
                return Response({
                    'detail': "The torrent hasn't finished downloading yet.",
                    'progress': torrent.progress
                }, status=status.HTTP_400_BAD_REQUEST)

            file_obj = get_object_or_404(File, torrent__pk=parent_lookup_torrent, pk=kwargs.get('pk'))
            serializer = self.serializer_class(file_obj)

            return Response(serializer.data)

        return super(FileViewSet, self).retrieve(request, *args, **kwargs) 
Example 29
Project: Bitpoll   Author: fsinfuhh   File: views.py    (GNU General Public License v3.0) View Source Project 6 votes vote down vote up
def watch(request, poll_url):
    current_poll = get_object_or_404(Poll, url=poll_url)

    if not current_poll.can_watch(request.user, request):
        messages.error(
            request, _("You are not allowed to watch this poll.")
        )
        return redirect('poll', poll_url)

    if current_poll.user_watches(request.user):
        poll_watch = PollWatch.objects.get(poll=current_poll, user=request.user)
        poll_watch.delete()
    else:
        poll_watch = PollWatch(poll=current_poll, user=request.user)
        poll_watch.save()
    return redirect('poll', poll_url) 
Example 30
Project: openbare   Author: openbare   File: views.py    (GNU General Public License v3.0) View Source Project 6 votes vote down vote up
def checkin(request, primary_key):
    """Checkin the :model:`library.Lendable`.

    Cleanup and delete Lendable.

    Redirect:
    :view:`library.index`
    """
    item = get_object_or_404(Lendable.all_types,
                             pk=primary_key,
                             user=request.user)
    try:
        item.checkin()
    except Exception as e:
        messages.error(request, e)
    else:
        messages.success(request, "'%s' returned." % (item.name))
    return redirect(reverse('library:index')) 
Example 31
Project: TaleTellers   Author: lyk2017-django   File: views.py    (GNU General Public License v3.0) View Source Project 6 votes vote down vote up
def like(request):
    """
    kullan?c? be?endi?inde vya be?enmedi?inde ekrandaki skoru otomatik
    update eder
    """
    id = request.GET.get("id", default=None)
    like = request.GET.get("like")
    obj = get_object_or_404(Post, id=int(id))
    if like == "true":
        # f objesi veri tabanindaki ilgili sutunun degerini cekerek
        # atama yapmak yerine arttirma veya azaltma yapmamizi saglar.
        obj.score = F("score") + 1
        obj.save(update_fields=["score"])
    elif like == "false":
        obj.score = F("score") - 1
        obj.save(update_fields=["score"])
    else:
        return HttpResponse(status=400)
    obj.refresh_from_db()
    return JsonResponse({"like": obj.score, "id": id}) 
Example 32
Project: django-tutorial   Author: fernandojunior   File: views.py    (MIT License) View Source Project 6 votes vote down vote up
def vote(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    try:
        selected_choice = question.choice_set.get(pk=request.POST['choice'])
    except (KeyError, Choice.DoesNotExist):
        # Redisplay the question voting form.
        return render(request, 'polls/detail.html', {
            'question': question,
            'error_message': "You didn't select a choice."
        })
    else:
        # See  Avoiding race conditions using F()
        # https://docs.djangoproject.com/en/1.9/ref/models/expressions/#avoiding-race-conditions-using-f
        selected_choice.votes += 1
        selected_choice.save()
        # Always return an HttpResponseRedirect after successfully dealing
        # with POST data. This prevents data from being posted twice if a
        # user hits the Back button.
        return HttpResponseRedirect(reverse('polls:results', args=(
            question.id,
        ))) 
Example 33
Project: MetaCI   Author: SalesforceFoundation   File: views.py    (BSD 3-Clause "New" or "Revised" License) View Source Project 6 votes vote down vote up
def plan_run_repo(request, plan_id, repo_owner, repo_name):
    plan = get_object_or_404(Plan, id=plan_id)
    repo = get_object_or_404(Repository, owner=repo_owner, name=repo_name)
    if request.method == 'POST':
        form = RunPlanForm(plan, repo, request.user, request.POST)
        if form.is_valid():
            build = form.create_build()
            return HttpResponseRedirect(build.get_absolute_url())
    else:
        form = RunPlanForm(plan, repo, request.user)
    context = {
        'form': form,
        'plan': plan,
        'repo': repo,
    }
    return render(request, 'plan/run.html', context=context) 
Example 34
Project: MetaCI   Author: SalesforceFoundation   File: views.py    (BSD 3-Clause "New" or "Revised" License) View Source Project 6 votes vote down vote up
def build_rebuild(request, build_id):
    build = get_object_or_404(Build, id=build_id)

    if not request.user.is_staff:
        return HttpResponseForbidden(
            'You are not authorized to rebuild builds')

    rebuild = Rebuild(
        build=build,
        user=request.user,
        status='queued',
    )
    rebuild.save()

    if not build.log:
        build.log = ''

    build.log += '\n=== Build restarted at {} by {} ===\n'.format(
        timezone.now(), request.user.username)
    build.current_rebuild = rebuild
    build.save()

    return HttpResponseRedirect('/builds/{}'.format(build.id)) 
Example 35
Project: MetaCI   Author: SalesforceFoundation   File: views.py    (BSD 3-Clause "New" or "Revised" License) View Source Project 6 votes vote down vote up
def test_method_peek(request, method_id):
    method = get_object_or_404(TestMethod, id=method_id)
    latest_fails = method.test_results.filter(
        outcome='Fail'
    ).order_by(
        '-build_flow__time_end'
    ).select_related(
        'build_flow',
        'build_flow__build',
        'build_flow__build__repo',
        'build_flow__build__plan',
        'build_flow__build__branch',
        'build_flow__build__branch__repo'
    )
    latest_fails = paginate(latest_fails, request)


    data = {
        'method': method,
        'latest_fails': latest_fails
    }

    return render(request, 'testresults/test_method_peek.html', data) 
Example 36
Project: MetaCI   Author: SalesforceFoundation   File: views.py    (BSD 3-Clause "New" or "Revised" License) View Source Project 6 votes vote down vote up
def repo_detail(request, owner, name):
    query = {
        'owner': owner,
        'name': name,
    }
    if not request.user.is_staff:
        query['public'] = True
    repo = get_object_or_404(Repository, **query)

    query = {'repo': repo}
    builds = view_queryset(request, query)
    context = {
        'repo': repo,
        'builds': builds,
    }
    return render(request, 'repository/repo_detail.html', context=context) 
Example 37
Project: MetaCI   Author: SalesforceFoundation   File: views.py    (BSD 3-Clause "New" or "Revised" License) View Source Project 6 votes vote down vote up
def commit_detail(request, owner, name, sha):
    query = {
        'owner': owner,
        'name': name,
    }
    if not request.user.is_staff:
        query['public'] = True
    repo = get_object_or_404(Repository, **query)
    
    query = {'commit': sha, 'repo': repo}
    builds = view_queryset(request, query)

    context = {
        'repo': repo,
        'builds': builds,
        'commit': sha,
    }
    return render(request, 'repository/commit_detail.html', context=context) 
Example 38
Project: django-simplestore   Author: martinstastny   File: views.py    (MIT License) View Source Project 6 votes vote down vote up
def form_valid(self, form, *args, **kwargs):
        product = get_object_or_404(Product, pk=self.kwargs['product_id'])
        quantity = form.cleaned_data['quantity']

        cart = get_cart(self.request, create=True)
        cart_item, cart_item_created = CartItem.objects.update_or_create(cart=cart, product=product)

        # If Cart item object has not been created  , amend quantity.
        if cart_item_created is False:
            cart_item.quantity += quantity
        else:
            cart_item.quantity = quantity

        cart_item.save()

        return super(AddToCartView, self).form_valid(form) 
Example 39
Project: mendelmd   Author: raonyguimaraes   File: views.py    (license) View Source Project 6 votes vote down vote up
def edit(request, individual_id):
    individual = get_object_or_404(Individual, pk=individual_id)
    if request.method == 'POST':
        form = IndividualForm(request.POST, instance=individual)
        if form.is_valid():
            form.save()
            return redirect('dashboard')
    #     form = IndividualForm(request.POST, request.FILES)
    #     if form.is_valid():
    #         individual = form.save(commit=False)
    #         individual.user = request.user
    #         individual.save()
    #         return redirect('dashboard')
    else:
        form = IndividualForm(instance=individual)

    return render(request, 'individuals/individual_form.html', {'form':form}) 
Example 40
Project: mendelmd   Author: raonyguimaraes   File: views.py    (license) View Source Project 6 votes vote down vote up
def view(request, disease_id):
    disease = get_object_or_404(Disease, pk=disease_id)
    gene = disease.gene_set.all()[0]
    # print 'gene', gene.official_name
    # individuals = Individual.objects.all()
    individuals_variants = Variant.objects.filter(gene=gene.official_name)
    # individuals_variants = []
    # for individual in individuals:
    #     individual_variants = Variant.objects.filter(individual=individual, gene=gene.official_name)
    #     individuals_variants.append(individual_variants)
#    individual_variants.query.group_by = ['individual_id']
#    results = query.execute_sql()
#    individuals = Individual.objects.all()
#    for individual in individuals:
#        individual_variants = Variant.objects.find(filter(date__range=["2011-01-01", "2011-01-31"]))
    
    
    return render(request, 'diseases/view.html', {'disease': disease, 'variants': individuals_variants}) 
Example 41
Project: mendelmd   Author: raonyguimaraes   File: views.py    (license) View Source Project 6 votes vote down vote up
def edit(request, case_id):
    
    case = get_object_or_404(Case, pk=case_id)
        
    if request.method == 'POST':
        form = CaseForm(request.POST, request.FILES, instance=case)        
        if form.is_valid():
            form.save()
#            variants = form.cleaned_data['variants']
#            strs = form.cleaned_data['strs']
#            cnvs = form.cleaned_data['cnvs']
#            #use id for unique names
#            individual = Individual.objects.create(user=request.user, status='new')
#            
#            individual.variants=variants
#            individual.strs=cnvs
#            individual.cnvs=cnvs
#            
#            individual.name=request.POST['name']
#            individual.save()
#            AnnotateVariants.delay(individual.id)
            return redirect('cases_list')
    else:
        form = CaseForm(instance=case)
    return render(request, 'cases/edit.html', {'form': form}) 
Example 42
Project: mendelmd   Author: raonyguimaraes   File: views.py    (license) View Source Project 6 votes vote down vote up
def import_files(request, project_id):
    project = get_object_or_404(Project, pk=project_id)
    form = ImportFilesForm(request.POST or None)
    if request.method == 'POST':
        if form.is_valid():
            for file in form.cleaned_data['file_list'].splitlines():
                # print(file)
                file_objs = File.objects.filter(name__contains=file)
                # print(file_obj)
                for file_obj in file_objs:
                    project.files.add(file_obj)
            # form.save()
            return redirect('projects-view', project.id)

    context = {'form': form, 'project': project}
    return render(request, 'projects/import_files.html', context) 
Example 43
Project: oglasi   Author: stralz   File: views.py    (license) View Source Project 6 votes vote down vote up
def wishlist_oglas(request, oglas_id):
    oglas = get_object_or_404(Oglas, pk=oglas_id)
    try:
        if oglas.na_wishlist:
            oglas.na_wishlist = False
        else:
            oglas.na_wishlist = True
        oglas.save()
    except (KeyError, Oglas.DoesNotExist):
        return JsonResponse({'success': False})
    else:
        return JsonResponse({'success': True}) 
Example 44
Project: table_tennis_league   Author: ulternate   File: views.py    (MIT License) View Source Project 6 votes vote down vote up
def get_context_data(self, **kwargs):
        context = super(GameView, self).get_context_data(**kwargs)

        group = get_object_or_404(Group, id=self.kwargs.get('group_pk', None))
        game = get_object_or_404(Game, id=self.kwargs.get('game_pk', None))
        players = game.players.order_by('-ranking')
        for player in players:
            try:
                rank_change = str(player.rankchange_set.get(game=game))
            except RankChange.DoesNotExist:
                rank_change = 'not available'

            setattr(player, 'rank_change', rank_change)

        context.update({
            'group': group,
            'game': game,
            'players': players,
        })

        return context 
Example 45
Project: table_tennis_league   Author: ulternate   File: views.py    (MIT License) View Source Project 6 votes vote down vote up
def form_valid(self, form):
        # Make sure only two players are selected.
        players = form.cleaned_data['players']
        if players.count() != 2:
            form.add_error(
                'players',
                'A game requires two players, please try again.',
            )
            return self.form_invalid(form)

        # Otherwise, connect the game to the group.
        self.object = form.save()
        group = get_object_or_404(Group, id=self.kwargs.get('pk', None))

        group.games.add(self.object)
        group.save()

        return HttpResponseRedirect(self.get_success_url()) 
Example 46
Project: socialhome   Author: jaywink   File: views.py    (GNU Affero General Public License v3.0) View Source Project 5 votes vote down vote up
def content_xml_view(request, guid):
    """Diaspora single post view XML representation.

    Fetched by remote servers in certain situations.
    """
    content = get_object_or_404(Content, guid=guid, visibility=Visibility.PUBLIC, local=True)
    entity = make_federable_content(content)
    xml = get_full_xml_representation(entity, content.author.private_key)
    return HttpResponse(xml, content_type="application/xml") 
Example 47
Project: socialhome   Author: jaywink   File: views.py    (GNU Affero General Public License v3.0) View Source Project 5 votes vote down vote up
def content_fetch_view(request, objtype, guid):
    """Diaspora content fetch view.

    Returns the signed payload for the public content. Non-public content will return 404.

    If the content is not local, redirect to content author server.

    Args:
        objtype (str) - Diaspora content type. Currently if it is `status_message`, `post` or `reshare`,
            we try to find `Content`.
        guid (str) - The object guid to look for.
    """
    if objtype not in ["status_message", "post", "reshare", "comment"]:
        raise Http404()
    content = get_object_or_404(Content, guid=guid, visibility=Visibility.PUBLIC)
    if not content.local:
        url = "https://%s/fetch/%s/%s" % (
            content.author.handle.split("@")[1], objtype, guid
        )
        return HttpResponseRedirect(url)
    entity = make_federable_content(content)
    message = get_full_xml_representation(entity, content.author.private_key)
    document = MagicEnvelope(
        message=message, private_key=content.author.private_key, author_handle=content.author.handle
    )
    return HttpResponse(document.render(), content_type="application/magic-envelope+xml") 
Example 48
Project: socialhome   Author: jaywink   File: views.py    (GNU Affero General Public License v3.0) View Source Project 5 votes vote down vote up
def get(self, request, *args, **kwargs):
        """Render ProfileDetailView for this user."""
        profile = get_object_or_404(Profile, user__username=kwargs.get("username"))
        return ProfileDetailView.as_view()(request, guid=profile.guid) 
Example 49
Project: socialhome   Author: jaywink   File: views.py    (GNU Affero General Public License v3.0) View Source Project 5 votes vote down vote up
def get(self, request, *args, **kwargs):
        """Render ProfileDetailView for this user."""
        profile = get_object_or_404(Profile, user__username=kwargs.get("username"))
        return ProfileAllContentView.as_view()(request, guid=profile.guid) 
Example 50
Project: socialhome   Author: jaywink   File: views.py    (GNU Affero General Public License v3.0) View Source Project 5 votes vote down vote up
def get_target_profile(self, guid):
        return get_object_or_404(Profile, guid=guid)